/*
Theme Name: Redesign
Theme URI: https://test.abcalumni.au
Author: Oliver Davies
Description: Editorial magazine-style redesign of the ABC Alumni site, inspired by rollingstone.com's homepage layout. Built as a starting-point theme to develop against on the test site.
Version: 3.10
Text Domain: redesign
*/

:root{
  
    --ink:#0066ff;
    --paper:#fffdf9;
    --blue:#003d97;
    --coral:#ff805b;
    --stone:#6e6a64;
    --line:#c3c3c3;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:#121212;
  font-family:'Source Serif 4', Georgia, serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.wordmark,.eyebrow,nav a,.btn,.stat,.login{
  font-family:'Archivo', Helvetica, Arial, sans-serif;
  color:var(--blue)
}
h1, h2{
  color:var(--blue-deep)
}
a{color:var(--blue);text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:1240px;margin:0 auto;padding:64px 28px;}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important; animation:none !important;}
}

/* ---------- header ---------- */
header.site{
  position:sticky;top:0;z-index:50;
  background:var(--paper);color:var(--blue);
  border-bottom:3px solid var(--blue);
}
.header-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 28px;gap:24px;
}
.wordmark{
  font-weight:900;font-size:1.35rem;letter-spacing:0.01em;
  display:flex;align-items:baseline;gap:8px;white-space:nowrap;
}
.wordmark span{color:var(--blue);}
.custom-logo-link img{max-height:64px;width:auto;}
nav.primary{display:flex;flex:1;justify-content:center;}
nav.primary ul.menu{
  display:flex;gap:28px;list-style:none;margin:0;padding:0;
}
nav.primary ul.menu li{list-style:none;}
nav.primary ul.menu a{
  font-weight:700;font-size:0.92rem;letter-spacing:0.02em;
  padding:6px 2px;border-bottom:2px solid transparent;
}
nav.primary ul.menu a:hover,
nav.primary ul.menu li.current-menu-item a{border-bottom-color:var(--blue);}
.header-actions{display:flex;align-items:center;gap:18px;white-space:nowrap;}
.header-actions a.login{font-weight:700;font-size:0.9rem;opacity:0.9;}
.btn{
  display:inline-block;font-weight:700;font-size:0.9rem;
  padding:11px 22px;border:2px solid var(--blue);border-radius:2px;
}
.btn.solid{background:var(--blue);color:var(--paper);}
.btn.solid:hover{background:var(--blue-action);border-color:var(--blue-deep);}
.btn.ghost{color:var(--paper);}
.btn.ghost:hover{background:rgba(255,255,255,0.08);}
.menu-toggle{display:none;background:none;border:0;color:var(--blue);font-size:1.5rem;cursor:pointer;}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:78vh;display:flex;align-items:flex-end;
  background:var(--paper) center/cover no-repeat;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11, 13, 16, 0.05) 0%, rgba(11,13,16,0.55) 55%, rgba(11,13,16,0.92) 100%);
}
.hero-content{position:relative;z-index:2;color:var(--paper);padding-top:64px;padding-bottom:56px;max-width:760px;}
.eyebrow{
  display:inline-block;background:var(--coral);color:var(--paper);
  font-weight:700;font-size:0.78rem;letter-spacing:0.06em;text-transform:uppercase;
  padding:5px 10px;margin-bottom:18px;
}
.hero h1{
  font-size:clamp(2.1rem, 4.6vw, 3.6rem);
  font-weight:900;line-height:1.06;margin:0 0 18px;letter-spacing:-0.01em;
  color:var(--paper)
}
.hero p.dek{
  font-family:'Source Serif 4', serif;font-size:1.15rem;color:#e7e4de;
  margin:0 0 26px;max-width:56ch;
}
.byline{font-size:0.85rem;color:#c7c3bb;margin-bottom:22px;font-weight:600;letter-spacing:0.02em;}

/* ---------- mission strip ---------- */
.mission{background:var(--blue-deep);color:var(--paper);padding:56px 0;}
.mission blockquote{
  margin:0;font-family:'Source Serif 4', serif;font-style:italic;font-weight:500;
  font-size:clamp(1.3rem, 2.6vw, 1.85rem);line-height:1.45;max-width:920px;color:#f2efe9;
}
.mission cite{
  display:block;margin-top:20px;font-style:normal;font-family:'Archivo',sans-serif;
  font-weight:700;font-size:1rem;letter-spacing:0.05em;color:var(--paper);
}

/* ---------- membership banner ---------- */
.membership{background:var(--blue);color:var(--paper);padding:60px 0;}
.membership .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;}
.membership h2{color:var(--paper);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;margin:0 0 14px;line-height:1.1;}
.membership p{font-size:1.02rem;color:#f5faff;max-width:52ch;margin:0 0 18px;}
.membership ul{margin:0;padding:0;list-style:none;}
.membership li{
  padding:10px 0;border-top:1px solid rgba(255,255,255,0.3);
  font-size:0.95rem;font-weight:500;
}
.membership li:last-child{border-bottom:1px solid rgba(255,255,255,0.3);}
.price-card{
  background:var(--paper);color:var(--blue-deep);padding:32px 28px;text-align:left;
  border:3px solid var(--blue-deep);
}
.price-card .stat{font-size:2.6rem;font-weight:900;line-height:1;}
.price-card .stat small{font-size:1rem;font-weight:700;color:var(--stone);}
.price-card p{color:var(--stone);font-size:0.92rem;margin:10px 0 22px;}
.price-card .btn.solid{width:100%;text-align:center;box-sizing:border-box;}

/* ---------- articles section ---------- */
.section-head{
  display:flex;align-items:baseline;justify-content:space-between;
  border-bottom:3px solid var(--blue-deep);padding-bottom:14px;margin-bottom:32px;
}
.section-head h2{font-size:1.6rem;font-weight:900;margin:0;color:var(--blue-deep);}
.section-head a{font-weight:700;font-size:0.88rem;color:var(--blue);}
.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:56px;}
.content-grid .page-content{max-width:none;margin:0;}
.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 32px;}
.card{border-bottom:1px solid var(--line);padding-bottom:28px;}
.card img{width:100%;height:auto;aspect-ratio:4/3;border:solid var(--blue-deep) 3px;object-fit:cover;margin-bottom:14px;background:#ddd;}
.tag{
  display:inline-block;font-family:'Archivo',sans-serif;font-weight:700;
  font-size:0.72rem;letter-spacing:0.06em;text-transform:uppercase;
  background:var(--coral);color:var(--paper);padding:3px 8px;margin-bottom:10px;
}
.card h3{font-size:1.2rem;font-weight:700;line-height:1.28;margin:0 0 8px;}
.card h3 a:hover{color:var(--blue);}
.card .meta{font-family:'Archivo',sans-serif;font-size:0.78rem;color:var(--stone);font-weight:600;margin-bottom:10px;}
.card p{font-size:0.95rem;color:#3a3833;margin:0;}

/* sidebar */
.sidebar h2{color:var(--blue-deep);font-size:1.15rem;font-weight:900;padding-bottom:12px;margin:0 0 6px;}
.rail-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);}
.rail-item:first-of-type{padding-top:18px;}
.rail-num{font-family:'Archivo',sans-serif;font-weight:900;font-size:1.6rem;color:var(--blue-deep);line-height:1;flex-shrink:0;width:32px;}
.rail-item h3{font-size:1.15rem;font-weight:700;line-height:1.3;margin:0 0 4px;}
.rail-item h4{font-size:0.98rem;font-weight:700;line-height:1.3;margin:0 0 4px;}
.rail-item .meta{font-family:'Archivo',sans-serif;font-size:0.74rem;color:var(--stone);font-weight:600;}
.rail-cta{margin-top:26px;padding:22px;background:#ffded5;border-left:4px solid var(--blue);}
.rail-cta h4{margin:0 0 8px;font-size:1rem;font-weight:900;}
.rail-cta p{font-size:0.88rem;color:var(--stone);margin:0 0 14px;}

/* ---------- generic page/post content (page.php, single.php) ---------- */
.page-content{max-width:760px;margin:0 auto;}
.page-content h1{font-size:2.2rem;font-weight:900;margin:0 0 24px;}
.page-content .entry-meta{font-family:'Archivo',sans-serif;font-size:0.8rem;color:var(--stone);font-weight:600;margin-bottom:24px;}
.page-content .entry-content img{margin:24px 0;}
.page-content .entry-content p{margin:0 0 20px;}

aside{padding:0px 28px;}
.box-rail{padding:0px 28px; border:3px var(--blue-deep) solid}

/* ---------- articles page ---------- */
.wp-block-latest-posts__list li{padding: 28px 0px}

/* ---------- footer ---------- */
footer.site{background:var(--blue-deep);color:#cfccc4;padding:56px 0 28px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid #33373c;}
footer.site h4{color:var(--paper);font-size:0.85rem;letter-spacing:0.04em;text-transform:uppercase;margin:0 0 16px;}
footer.site .wordmark{color:var(--paper);}
footer.site p{font-size:0.9rem;line-height:1.6;max-width:44ch;}
footer.site ul{list-style:none;margin:0;padding:0;}
footer.site li{margin-bottom:10px;}
footer.site a.footlink{font-family:'Source Serif 4',serif;font-size:0.92rem;color:#cfccc4;}
footer.site a.footlink:hover{color:var(--paper);}
.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  padding-top:24px;font-size:0.8rem;color:#cfccc4;
}


/* ---------- mobile nav state ---------- */
@media (max-width:900px){
  .header-actions .login{display:none;}
  .menu-toggle{display:block;}
  nav.primary{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--paper);border-bottom:3px solid var(--blue);padding:12px 28px 20px;
  }
  nav.primary.nav-open{display:block;}
  nav.primary ul.menu{flex-direction:column;gap:4px;}
  nav.primary ul.menu a{display:block;padding:12px 0;}
  .content-grid{grid-template-columns:1fr;}
  .article-grid{grid-template-columns:1fr;}
  .membership .wrap{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;gap:28px;}
}
