/* Africa Game Farms — theme styles
   Palette carried over from the approved document look: paper / moss / sienna. */

:root{
  --agf-paper:#FBFAF7;
  --agf-panel:#F2EFE6;
  --agf-panel-deep:#E9E5D8;
  --agf-ink:#1E241F;
  --agf-ink-soft:#4A5148;
  --agf-stone:#8B8677;
  --agf-moss:#46583F;
  --agf-moss-light:#6E8163;
  --agf-sienna:#9E5230;
  --agf-rule:#DCD7C9;
  --agf-wrap:1180px;
  --agf-serif:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  --agf-sans:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;
  background:var(--agf-paper);
  color:var(--agf-ink);
  font-family:var(--agf-sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--agf-moss);text-underline-offset:.18em;}
a:hover{color:var(--agf-sienna);}

.agf-wrap{width:100%;max-width:var(--agf-wrap);margin:0 auto;padding:0 24px;}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}
.agf-skip{
  position:absolute;left:-9999px;top:0;background:var(--agf-moss);color:#fff;
  padding:12px 18px;z-index:999;
}
.agf-skip:focus{left:12px;top:12px;}

/* ------------------------------------------------------------------ header */
.agf-header{
  background:var(--agf-paper);
  border-bottom:1px solid var(--agf-rule);
  position:sticky;top:0;z-index:50;
}
.agf-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;}
.agf-brand__text{text-decoration:none;display:block;}
.agf-brand__name{
  display:block;font-family:var(--agf-serif);font-size:1.42rem;color:var(--agf-moss);
  letter-spacing:-.01em;line-height:1.1;
}
.agf-brand__tag{
  display:block;font-size:.68rem;letter-spacing:.19em;text-transform:uppercase;
  color:var(--agf-stone);font-weight:600;margin-top:3px;
}

.agf-menu{list-style:none;display:flex;gap:26px;margin:0;padding:0;align-items:center;}
.agf-menu a{
  text-decoration:none;color:var(--agf-ink-soft);font-size:.92rem;font-weight:600;
  letter-spacing:.02em;padding:6px 0;border-bottom:2px solid transparent;
}
.agf-menu a:hover,
.agf-menu .current-menu-item > a{color:var(--agf-moss);border-bottom-color:var(--agf-moss);}
.agf-menu li{position:relative;}
.agf-menu .sub-menu{
  display:none;position:absolute;background:var(--agf-paper);border:1px solid var(--agf-rule);
  padding:10px 0;margin-top:8px;min-width:210px;list-style:none;box-shadow:0 12px 28px rgba(30,36,31,.08);
}
.agf-menu li:hover > .sub-menu,
.agf-menu li:focus-within > .sub-menu{display:block;}
.agf-menu .sub-menu a{display:block;padding:7px 18px;border:0;}

.agf-burger{display:none;background:none;border:0;padding:10px;cursor:pointer;}
.agf-burger span{display:block;width:24px;height:2px;background:var(--agf-ink);margin:5px 0;transition:.2s;}

/* ------------------------------------------------------------------- pages */
.agf-main{min-height:60vh;}
.agf-page{padding:56px 24px 72px;}
.agf-page--narrow{max-width:820px;}
.agf-page__head{border-bottom:1px solid var(--agf-rule);padding-bottom:18px;margin-bottom:34px;}
.agf-page__title{
  font-family:var(--agf-serif);font-weight:400;font-size:clamp(1.9rem,4vw,2.85rem);
  color:var(--agf-moss);margin:0;line-height:1.15;text-wrap:balance;
}
.agf-meta{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--agf-stone);font-weight:600;}

.agf-prose h2{font-family:var(--agf-serif);font-weight:400;color:var(--agf-moss);font-size:1.7rem;margin:2em 0 .5em;}
.agf-prose h3{font-size:1.12rem;margin:1.8em 0 .4em;}
.agf-prose blockquote{
  border-left:3px solid var(--agf-moss-light);background:var(--agf-panel);
  margin:1.6em 0;padding:16px 22px;
}
.agf-article__media{margin:0 0 32px;}
.agf-article__media img{width:100%;}

/* ------------------------------------------------------------------- cards */
.agf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:34px;}
.agf-card{background:#fff;border:1px solid var(--agf-rule);transition:transform .2s ease,box-shadow .2s ease;}
.agf-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(30,36,31,.10);}
.agf-card__link{text-decoration:none;color:inherit;display:block;height:100%;}
.agf-card__media{aspect-ratio:10/7;overflow:hidden;background:var(--agf-panel-deep);}
.agf-card__media img{width:100%;height:100%;object-fit:cover;}
.agf-card__placeholder{display:block;width:100%;height:100%;background:var(--agf-panel-deep);}
.agf-card__body{padding:22px 24px 26px;}
.agf-card__title{font-family:var(--agf-serif);font-weight:400;font-size:1.28rem;color:var(--agf-moss);margin:0 0 8px;line-height:1.25;}
.agf-card__excerpt{margin:0 0 14px;color:var(--agf-ink-soft);font-size:.95rem;}
.agf-card__more{
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--agf-sienna);
}

/* --------------------------------------------------------- buttons + forms */
.agf-btn{
  display:inline-block;background:var(--agf-moss);color:#F4F2EA;text-decoration:none;
  padding:12px 26px;border:0;font-size:.82rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;cursor:pointer;transition:background .18s;
}
.agf-btn:hover{background:var(--agf-sienna);color:#fff;}
.agf-search{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap;}
.agf-search input[type=search]{
  flex:1 1 240px;padding:12px 14px;border:1px solid var(--agf-rule);
  background:#fff;font:inherit;font-size:.95rem;
}
.agf-search input[type=search]:focus{outline:2px solid var(--agf-moss-light);outline-offset:1px;}

/* -------------------------------------------------------------- pagination */
.agf-pagination{margin-top:48px;border-top:1px solid var(--agf-rule);padding-top:22px;}
.agf-pagination .page-numbers{
  display:inline-block;padding:8px 14px;text-decoration:none;color:var(--agf-ink-soft);font-weight:600;
}
.agf-pagination .current{background:var(--agf-moss);color:#F4F2EA;}

/* ------------------------------------------------------------------ footer */
.agf-footer{background:var(--agf-panel);border-top:1px solid var(--agf-rule);margin-top:80px;}
.agf-footer__inner{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:36px;padding-top:52px;padding-bottom:36px;
}
.agf-footer__note{color:var(--agf-ink-soft);font-size:.92rem;margin:10px 0 0;max-width:34ch;}
.agf-menu--footer{flex-direction:column;gap:10px;align-items:flex-start;}
.agf-widget__title{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--agf-stone);margin:0 0 10px;}
.agf-footer__legal{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  border-top:1px solid var(--agf-rule);padding-top:18px;padding-bottom:26px;color:var(--agf-stone);
}
.agf-footer__ver{opacity:.75;font-variant-numeric:tabular-nums;}

/* ------------------------------------------------------------------ mobile */
@media (max-width:860px){
  .agf-burger{display:block;}
  .agf-header__inner{position:relative;}
  .agf-nav{
    display:none;position:absolute;left:0;right:0;top:100%;background:var(--agf-paper);
    border-bottom:1px solid var(--agf-rule);padding:16px 24px 24px;
  }
  .agf-nav.is-open{display:block;}
  .agf-menu{flex-direction:column;align-items:flex-start;gap:4px;}
  .agf-menu a{display:block;padding:10px 0;width:100%;}
  .agf-menu .sub-menu{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 16px;margin:0;}
}

/* ------------------------------------------------- block / editor content */
/* Content written in the block editor or pasted as HTML lands inside
   .agf-prose. Without these rules headings render as bare browser defaults,
   which reads as "the stylesheet did not load". */

.agf-prose > *:first-child{margin-top:0;}
.agf-prose > *:last-child{margin-bottom:0;}
.agf-prose h1{
  font-family:var(--agf-serif);font-weight:400;color:var(--agf-moss);
  font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.15;margin:0 0 .6em;text-wrap:balance;
}
.agf-prose h4,.agf-prose h5,.agf-prose h6{margin:1.6em 0 .4em;font-size:1rem;}
.agf-prose p{margin:0 0 1.15em;}
.agf-prose ul,.agf-prose ol{margin:0 0 1.15em;padding-left:1.4em;}
.agf-prose li{margin-bottom:.4em;}
.agf-prose figure{margin:2em 0;}
.agf-prose figure img{width:100%;}
.agf-prose figcaption{
  font-size:.82rem;color:var(--agf-stone);margin-top:.6em;text-align:center;
}
.agf-prose hr{border:0;border-top:1px solid var(--agf-rule);margin:2.4em 0;}
.agf-prose table{width:100%;border-collapse:collapse;margin:0 0 1.4em;}
.agf-prose th,.agf-prose td{
  text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--agf-rule);
}
.agf-prose th{
  font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--agf-stone);
}

/* Wide and full-bleed blocks inside the narrow column. */
.agf-prose .alignwide{
  width:min(1180px,92vw);margin-left:50%;transform:translateX(-50%);max-width:none;
}
.agf-prose .alignfull{
  width:100vw;margin-left:50%;transform:translateX(-50%);max-width:none;
}
.agf-prose .alignleft{float:left;margin:.3em 1.6em 1em 0;max-width:50%;}
.agf-prose .alignright{float:right;margin:.3em 0 1em 1.6em;max-width:50%;}
.agf-prose .aligncenter{margin-left:auto;margin-right:auto;}
.agf-prose::after{content:"";display:table;clear:both;}

/* Colour + font-size classes generated from theme.json. */
.has-paper-background-color{background-color:var(--agf-paper);}
.has-panel-background-color{background-color:var(--agf-panel);}
.has-moss-background-color{background-color:var(--agf-moss);}
.has-moss-color{color:var(--agf-moss);}
.has-sienna-color{color:var(--agf-sienna);}
.has-ink-color{color:var(--agf-ink);}
.has-stone-color{color:var(--agf-stone);}
