/*
Theme Name: UAZA Struggle Archive
Theme URI: https://struggle.uaza.co.za
Author: Ukrainian Association of South Africa (UAZA)
Author URI: https://www.uaza.co.za
Description: Custom theme for the Digital Archive of Ukraine-South Africa Solidarity & the Anti-Apartheid Movement. Brand colours, Fixel typography, and a homepage matching the approved design. Links into the Omeka S archive at /archive.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary - UAZA
Text Domain: uaza-struggle
*/

/* ===== Fixel font (self-hosted) ===== */
@font-face{font-family:'Fixel';src:url('assets/fonts/FixelDisplay-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Fixel';src:url('assets/fonts/FixelDisplay-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Fixel';src:url('assets/fonts/FixelDisplay-RegularItalic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Fixel';src:url('assets/fonts/FixelDisplay-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Fixel';src:url('assets/fonts/FixelDisplay-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Fixel';src:url('assets/fonts/FixelDisplay-ExtraBold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Fixel';src:url('assets/fonts/FixelDisplay-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap;}

:root{
  --navy:#102a5a; --navy2:#17407e; --blue:#1452b0; --gold:#f2b705;
  --ochre:#c8202a; --green:#1c8f3e; --paper:#f7f3ec; --ink:#1f2430; --muted:#6a6e78;
  --line:#e6e0d3; --card:#ffffff; --tag:#e9f0fb;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Fixel',-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.55;}
h1,h2,h3,.serif{font-family:'Fixel',-apple-system,sans-serif;}
a{color:var(--blue);text-decoration:none;}
img{max-width:100%;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

/* Ukraine stripe */
.ua-stripe{height:5px;background:linear-gradient(90deg,#0057b7 0 50%,#ffd700 50% 100%);}

/* top utility bar */
.util{background:var(--navy);color:#cdd6ea;font-size:12.5px;}
.util .wrap{display:flex;justify-content:flex-end;gap:18px;height:36px;align-items:center;}
.util a{color:#cdd6ea;}

/* header */
header.main{background:#ffffff;color:var(--navy);padding:18px 0 0;}
.brand{display:flex;align-items:center;gap:16px;}
.brand-logo{height:92px;width:auto;display:block;flex:0 0 auto;}
.brand .t1{font-family:'Fixel',sans-serif;font-size:23px;line-height:1.15;color:var(--navy);font-weight:700;}
.brand .t2{font-size:12.5px;color:var(--blue);letter-spacing:.04em;text-transform:uppercase;margin-top:3px;font-weight:600;}
nav.primary{display:flex;gap:4px;margin-top:16px;border-top:1px solid var(--line);flex-wrap:wrap;}
nav.primary a{background:none;border:none;color:var(--navy);font-size:14.5px;
  padding:13px 16px;cursor:pointer;font-family:inherit;border-bottom:3px solid transparent;display:inline-block;}
nav.primary a:hover{color:var(--blue);}
nav.primary a.active{color:var(--navy);border-bottom-color:var(--gold);font-weight:600;}
.ribbon-top{width:100%;height:auto;display:block;}
.ribbon-bottom{width:100%;height:auto;display:block;}

/* hero */
.hero{background:linear-gradient(rgba(20,30,55,.78),rgba(20,30,55,.86)),
  repeating-linear-gradient(135deg,#26396b 0 22px,#22335f 22px 44px);
  color:#fff;padding:64px 0 56px;}
.hero h1{font-size:39px;margin:0 0 14px;max-width:760px;line-height:1.18;color:#fff;}
.hero p.lede{font-size:18px;color:#dde3f1;max-width:680px;margin:0 0 28px;}
.search{display:flex;max-width:620px;background:#fff;border-radius:8px;overflow:hidden;
  box-shadow:0 8px 30px rgba(0,0,0,.25);}
.search input{flex:1;border:none;padding:16px 18px;font-size:15.5px;outline:none;font-family:inherit;}
.search button{background:var(--gold);color:var(--navy);border:none;padding:0 26px;
  font-size:15px;cursor:pointer;font-weight:600;font-family:inherit;}
.quickfacets{margin-top:20px;font-size:13.5px;color:#c3cce0;}
.quickfacets a{color:#fff;border-bottom:1px dotted #ffffff66;margin:0 4px;}

/* sections */
section{padding:50px 0;}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;}
.sec-head h2{font-size:26px;margin:0;color:var(--navy);}
.sec-head a{font-size:14px;}
.kicker{color:var(--blue);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;margin-bottom:6px;}

/* collection feature */
.collection{background:var(--card);border:1px solid var(--line);border-radius:12px;
  display:grid;grid-template-columns:300px 1fr;overflow:hidden;}
.collection .vis{background:linear-gradient(135deg,var(--navy),var(--blue));
  color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;}
.collection .vis .yrs{font-family:'Fixel',sans-serif;font-size:34px;}
.collection .vis .cnt{color:#cdd9f3;font-size:13.5px;margin-top:4px;}
.collection .body{padding:30px;}
.collection .body h3{margin:0 0 10px;font-size:21px;color:var(--navy);}
.collection .body p{margin:0 0 16px;color:#444;}
.chiprow{display:flex;flex-wrap:wrap;gap:8px;}
.chip{background:var(--tag);color:var(--navy2);font-size:12.5px;padding:5px 11px;border-radius:20px;}

/* item grid */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.item{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .12s,box-shadow .12s;color:inherit;}
.item:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,30,55,.12);}
.thumb{height:150px;position:relative;display:flex;align-items:center;justify-content:center;
  background:#ece4d4;border-bottom:1px solid var(--line);overflow:hidden;}
.thumb .doc{width:88px;height:112px;background:#fbf8f1;border:1px solid #cdc4ad;
  box-shadow:2px 3px 0 #0000000d;position:relative;padding:11px 9px;}
.thumb .doc:before{content:"";display:block;height:7px;background:var(--ochre);width:60%;margin-bottom:7px;}
.thumb .doc i{display:block;height:3px;background:#d8cdb4;margin-bottom:5px;}
.thumb .doc i.s{width:70%;}
.thumb .badge{position:absolute;top:8px;right:8px;background:var(--navy);color:#fff;
  font-size:10.5px;padding:3px 8px;border-radius:4px;letter-spacing:.03em;}
.item .meta{padding:14px 15px;flex:1;display:flex;flex-direction:column;}
.item .meta h4{font-family:'Fixel',sans-serif;font-size:15.5px;margin:0 0 6px;color:var(--navy);line-height:1.3;}
.item .meta .pub{font-size:12.5px;color:var(--muted);margin-bottom:3px;}
.item .meta .date{font-size:12px;color:var(--blue);font-weight:600;letter-spacing:.03em;}
.item .meta .tags{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:5px;}
.item .meta .tags span{font-size:11px;background:var(--tag);color:var(--navy2);padding:3px 8px;border-radius:12px;}

/* exhibitions */
.exhibits{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.exhibit{border-radius:10px;overflow:hidden;color:#fff;padding:26px;min-height:170px;
  display:flex;flex-direction:column;justify-content:flex-end;}
.e1{background:linear-gradient(160deg,#2b5fb3,#1d2b4f);}
.e2{background:linear-gradient(160deg,#c8202a,#6f1418);}
.e3{background:linear-gradient(160deg,#3f7d6a,#1f3d34);}
.exhibit .k{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.85;}
.exhibit h3{margin:6px 0 4px;font-size:20px;color:#fff;}
.exhibit p{margin:0;font-size:13px;opacity:.9;}

/* timeline */
.timeline{background:var(--navy);color:#fff;border-radius:12px;padding:34px 30px;}
.tl-track{display:flex;justify-content:space-between;position:relative;margin-top:26px;}
.tl-track:before{content:"";position:absolute;top:9px;left:0;right:0;height:2px;background:#ffffff33;}
.tl{position:relative;text-align:center;flex:1;}
.tl .dot{width:18px;height:18px;border-radius:50%;background:var(--gold);margin:0 auto 10px;
  border:3px solid var(--navy);position:relative;z-index:1;}
.tl .yr{font-family:'Fixel',sans-serif;font-size:17px;}
.tl .lbl{font-size:11.5px;color:#c3cce0;margin-top:2px;}

/* about strip */
.about{background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px;
  display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:center;}
.about h2{color:var(--navy);margin-top:0;}
.about .stats{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.about .stat .n{font-family:'Fixel',sans-serif;font-size:30px;color:var(--blue);}
.about .stat .l{font-size:12.5px;color:var(--muted);}

/* contribution form */
.uaza-form{max-width:620px;margin:18px 0;display:flex;flex-direction:column;gap:14px;}
.uaza-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--navy);font-size:14px;}
.uaza-form input[type=text],.uaza-form input[type=email],.uaza-form select,.uaza-form textarea{
  border:1px solid var(--line);border-radius:8px;padding:11px 13px;font-size:15px;font-family:inherit;
  font-weight:400;color:var(--ink);background:#fff;width:100%;}
.uaza-form textarea{resize:vertical;}
.uaza-form input[type=file]{font-weight:400;font-size:13.5px;}
.uaza-form button{align-self:flex-start;background:var(--gold);color:var(--navy);border:none;border-radius:8px;
  padding:12px 30px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;}
.uaza-form button:hover{background:#e0a800;}
.uaza-hp{position:absolute;left:-9999px;height:0;overflow:hidden;}
.formnote{border-radius:8px;padding:14px 16px;margin:14px 0;font-size:15px;}
.formnote.ok{background:#e6f6ec;border:1px solid #1c8f3e;color:#14672d;}
.formnote.err{background:#fdeaea;border:1px solid var(--ochre);color:#8f1620;}

/* partners */
.partners{background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px;}
.partners h2{color:var(--navy);margin:2px 0 8px;}
.partners p{color:#444;margin:0 0 6px;max-width:760px;}
.partners .plogos{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:20px;}
.partners .plogos img{height:60px;width:auto;max-width:180px;object-fit:contain;}
.partners .plist{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.partners .partner{border:1px solid var(--line);border-radius:8px;padding:12px 18px;font-weight:600;
  color:var(--navy2);background:var(--paper);font-size:14.5px;}

/* footer */
footer.site{background:var(--navy);color:#aeb8d2;padding:42px 0 28px;margin-top:30px;font-size:13.5px;}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;}
footer.site h5{color:#fff;font-size:14px;margin:0 0 12px;font-family:'Fixel',sans-serif;}
footer.site a{color:#aeb8d2;display:block;padding:3px 0;}
footer.site .footer-logo{height:84px;width:auto;background:#fff;padding:10px 14px;border-radius:10px;margin-bottom:16px;}
footer.site .base{border-top:1px solid #ffffff1f;margin-top:26px;padding-top:18px;display:flex;
  justify-content:space-between;color:#7e89a8;font-size:12.5px;flex-wrap:wrap;gap:8px;}

/* generic content pages (blog, page, single) */
.page-content{padding:40px 0 20px;}
.page-content h1.page-title{color:var(--navy);font-size:30px;margin:0 0 18px;}
.page-content article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px 30px;margin-bottom:22px;}
.page-content article h2{color:var(--navy);}
.page-content article a{color:var(--blue);}

@media(max-width:880px){
  .grid,.exhibits{grid-template-columns:1fr 1fr;}
  .collection,.about{grid-template-columns:1fr;}
  .hero h1{font-size:30px;}
  .brand-logo{height:64px;}
  footer.site .cols{grid-template-columns:1fr;}
}
