/*
Theme Name: Wiltshire Horn News
Theme URI: https://wiltshirehornaustralia.com.au/
Template: generatepress
Author: AWHSA
Author URI: https://wiltshirehornaustralia.com.au/
Description: Wiltshire Horn News — a heritage-green news & publication GeneratePress child theme for the Australian Wiltshire Horn Sheepbreeders Association. Slab-serif masthead, category nav, lead story + grids, author pages with bylines, smart image fallbacks, and built-in NewsArticle + Article + ProfilePage schema. Seeds Who We Are, Membership, FAQ, Contact, Our Authors and policy pages, plus 4 author accounts. Requires the free GeneratePress parent theme.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wiltshire-horn
*/

/* =========================================================
   Tokens — AWHSA heritage green + cream
   ========================================================= */
:root{
  --us-ink:     #20281a;
  --us-ink-2:   #3a4230;
  --us-paper:   #f8f6ee;
  --us-paper-2: #efeada;
  --us-muted:   #6c7059;
  --us-line:    #e2ddca;
  --us-line-2:  #d2ccb4;
  --us-red:     #4d6625;   /* accent: mid paddock green (links, hover, labels) */
  --us-red-2:   #3a4e1c;   /* darker accent */
  --us-navy:    #2e3c18;   /* deep olive (masthead, footer) */
  --us-lime:    #ccd970;   /* lime highlight */
  --us-max:     1220px;
  --us-head:    "Roboto Slab", Georgia, "Times New Roman", serif;
  --us-body:    "Roboto", "Helvetica Neue", Arial, sans-serif;
  --us-sans:    "Roboto", "Helvetica Neue", Arial, sans-serif;
}

body.us-site{background:var(--us-paper);color:var(--us-ink);font-family:var(--us-body);margin:0;line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
.us-site *{box-sizing:border-box}
.us-site img{max-width:100%;height:auto;display:block}
.us-site a{color:var(--us-ink);text-decoration:none;transition:color .15s ease}
.us-site a:hover{color:var(--us-red)}
.us-wrap{max-width:var(--us-max);margin:0 auto;padding:0 22px}
.us-site h1,.us-site h2,.us-site h3,.us-site h4{font-family:var(--us-head);font-weight:800;line-height:1.14;margin:0;color:var(--us-ink)}
.us-kicker{font-family:var(--us-sans);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--us-red)}
.us-center{text-align:center}

/* Buttons */
.us-btn{display:inline-flex;align-items:center;gap:8px;background:var(--us-red);color:#fff;font-family:var(--us-sans);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;padding:13px 26px;border:0;cursor:pointer;transition:background .2s}
.us-btn:hover{background:var(--us-red-2);color:#fff}
.us-btn--ghost{background:transparent;border:1px solid var(--us-ink);color:var(--us-ink)}
.us-btn--ghost:hover{background:var(--us-ink);color:#fff}
.us-site a.us-btn{color:#fff}
.us-site a.us-btn--ghost{color:var(--us-ink)}
.us-site a.us-btn--ghost:hover{color:#fff}

/* =========================================================
   Masthead / header
   ========================================================= */
.us-topbar{border-bottom:1px solid var(--us-line);font-family:var(--us-sans);font-size:.76rem;color:var(--us-muted)}
.us-topbar .us-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 22px;flex-wrap:wrap}
.us-topbar .date{text-transform:uppercase;letter-spacing:.08em}
.us-topbar .links a{color:var(--us-muted);margin-left:16px}
.us-topbar .links a:hover{color:var(--us-red)}

.us-topbar{border-top:4px solid var(--us-lime)}
.us-masthead{text-align:center;padding:24px 22px 18px}
.us-masthead .brand{font-family:var(--us-head);font-weight:900;font-size:clamp(2.6rem,6vw,4rem);letter-spacing:.06em;line-height:1;color:var(--us-navy);display:inline-block}
.us-masthead .brand:hover{color:var(--us-navy)}
.us-masthead .sub{font-family:var(--us-sans);text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;font-weight:600;color:var(--us-muted);margin-top:12px}
.us-masthead img{max-height:84px;width:auto;margin:0 auto}

/* Category nav */
.us-nav{background:var(--us-ink);position:sticky;top:0;z-index:200}
.us-nav-inner{display:flex;align-items:center;justify-content:center;gap:2px;flex-wrap:wrap;position:relative}
.us-nav ul{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:center}
.us-nav a{display:block;color:#f3f0ea;font-family:var(--us-sans);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;padding:13px 15px}
.us-nav a:hover,.us-nav .current-menu-item>a{color:#fff;background:var(--us-red)}
.us-nav li{position:relative}
.us-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--us-ink);min-width:210px;padding:4px 0;z-index:30}
.us-nav li:hover>.sub-menu{display:block}
.us-nav .sub-menu a{padding:10px 16px;letter-spacing:.04em}
.us-burger{display:none;background:none;border:0;color:#fff;cursor:pointer;padding:12px 14px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}
.us-burger svg{width:24px;height:24px}

/* =========================================================
   Layout helpers
   ========================================================= */
.us-section{padding:40px 0}
.us-sectitle{display:flex;align-items:center;gap:14px;margin:0 0 22px}
.us-sectitle h2{font-size:1.5rem;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.us-sectitle::after{content:"";height:3px;background:var(--us-ink);flex:1}
.us-sectitle--red h2{color:var(--us-red)}
.us-meta{font-family:var(--us-sans);font-size:.74rem;color:var(--us-muted);text-transform:uppercase;letter-spacing:.06em}
.us-cat{font-family:var(--us-sans);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--us-red)}

/* Shared image-tile behaviour (background-image tiles are <a> elements,
   so they MUST be display:block for aspect-ratio to give them height). */
.us-lead__img,.us-side-thumb,.us-card__img,.us-list__item .thumb{
  display:block;background-size:cover;background-position:center;background-repeat:no-repeat;
  background-color:var(--us-paper-2);overflow:hidden;position:relative
}

/* Hero / lead story */
.us-lead{display:grid;grid-template-columns:1.65fr 1fr;gap:38px;padding-top:30px;border-top:3px solid var(--us-ink);margin-top:0}
@media(max-width:900px){.us-lead{grid-template-columns:1fr;gap:26px}}
.us-lead__main .us-lead__img{aspect-ratio:16/9;margin-bottom:18px}
.us-lead__main .us-cat{display:inline-block;margin-bottom:8px}
.us-lead__main h1{font-size:clamp(2rem,4.4vw,3.15rem);margin:6px 0 14px;letter-spacing:-.01em}
.us-lead__main h1 a{color:var(--us-ink)}
.us-lead__main p{font-size:1.08rem;color:var(--us-ink-2);margin:0}
.us-lead__side{display:flex;flex-direction:column;gap:20px}
.us-side-item{display:grid;grid-template-columns:120px 1fr;gap:15px;padding-bottom:20px;border-bottom:1px solid var(--us-line);align-items:start}
.us-side-item:last-child{border-bottom:0;padding-bottom:0}
.us-side-item h3{font-size:1.08rem;line-height:1.24;margin:5px 0 6px}
.us-side-item .us-side-thumb{aspect-ratio:4/3;margin:0}
@media(max-width:480px){.us-side-item{grid-template-columns:96px 1fr;gap:12px}}

/* Article grid (cards) */
.us-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:860px){.us-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.us-grid{grid-template-columns:1fr}}
.us-card{display:flex;flex-direction:column}
.us-card__img{aspect-ratio:16/10;margin-bottom:13px}
.us-card .us-cat{display:inline-block;margin-bottom:4px}
.us-card h3{font-size:1.24rem;line-height:1.26;margin:5px 0 8px}
.us-card p{font-size:.95rem;color:var(--us-ink-2);margin:0}
.us-card .us-meta{margin-top:10px}

/* Image hover zoom */
.us-lead__img,.us-side-thumb,.us-card__img,.us-list__item .thumb{transition:filter .2s ease}
.us-lead__img:hover,.us-side-thumb:hover,.us-card__img:hover,.us-list__item .thumb:hover{filter:brightness(.93)}

/* List (compact) */
.us-list{display:flex;flex-direction:column}
.us-list__item{display:grid;grid-template-columns:120px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--us-line);align-items:start}
.us-list__item:first-child{padding-top:0}
.us-list__item .thumb{aspect-ratio:4/3}
.us-list__item h3{font-size:1.06rem;line-height:1.26;margin:3px 0 5px}

/* Two-column content region */
.us-cols{display:grid;grid-template-columns:1fr 320px;gap:44px}
@media(max-width:960px){.us-cols{grid-template-columns:1fr}}
.us-side-widget{margin-bottom:34px}
.us-side-widget h4{font-family:var(--us-sans);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;color:var(--us-ink);border-bottom:2px solid var(--us-red);padding-bottom:8px;margin:0 0 14px}
.us-side-widget ol{margin:0;padding:0 0 0 0;list-style:none;counter-reset:rn}
.us-side-widget ol li{counter-increment:rn;display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--us-line);font-family:var(--us-head);font-weight:700;font-size:1rem;line-height:1.25}
.us-side-widget ol li::before{content:counter(rn);font-family:var(--us-head);font-size:1.5rem;color:var(--us-red);line-height:1}

/* =========================================================
   Inner page hero + prose
   ========================================================= */
.us-lhero{border-top:3px solid var(--us-ink);border-bottom:1px solid var(--us-line);padding:26px 0 22px;margin-bottom:8px}
.us-crumbs{font-family:var(--us-sans);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--us-muted);margin-bottom:10px}
.us-crumbs a{color:var(--us-muted)}.us-crumbs a:hover{color:var(--us-red)}
.us-lhero h1{font-size:clamp(2rem,5vw,3rem)}
.us-prose{max-width:760px;font-size:1.08rem;color:var(--us-ink)}
.us-prose p{margin:0 0 20px}
.us-prose h2{font-size:1.7rem;margin:34px 0 12px}
.us-prose h3{font-size:1.35rem;margin:26px 0 10px}
.us-prose ul,.us-prose ol{margin:0 0 20px;padding-left:22px}
.us-prose li{margin:0 0 8px}
.us-prose a{color:var(--us-red);text-decoration:underline}
.us-prose blockquote{margin:24px 0;padding:12px 22px;border-left:4px solid var(--us-red);background:var(--us-paper-2);font-style:italic}
.us-prose img{margin:20px 0}

/* Author archive hero + author listing */
.us-authorhero{border-top:3px solid var(--us-ink);padding:26px 0 24px;margin-bottom:8px}
.us-authorhero__card{display:flex;gap:26px;align-items:center;margin-top:12px}
.us-authorhero__avatar{flex:0 0 auto}
.us-authorhero__avatar img{width:120px;height:120px;border-radius:50%;border:3px solid var(--us-lime)}
.us-authorhero h1{font-size:clamp(1.8rem,4.4vw,2.6rem);margin:4px 0 0}
.us-authorhero__bio{color:var(--us-ink-2);margin:10px 0 0;max-width:680px;line-height:1.6}
@media(max-width:600px){.us-authorhero__card{flex-direction:column;text-align:center;gap:14px}}
.us-authorgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:900px){.us-authorgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.us-authorgrid{grid-template-columns:1fr}}
.us-authorcard{text-align:center;background:var(--us-paper-2);border:1px solid var(--us-line);padding:24px 18px}
.us-authorcard__avatar{display:inline-block}
.us-authorcard__avatar img{width:100px;height:100px;border-radius:50%;border:3px solid var(--us-lime);margin:0 auto 12px}
.us-authorcard .us-cat{display:block;margin-bottom:4px}
.us-authorcard h3{font-size:1.1rem;margin:0 0 8px}
.us-authorcard p{color:var(--us-ink-2);font-size:.92rem;margin:0 0 10px;line-height:1.5}

/* Single article */
.us-article{max-width:760px;margin:0 auto;padding:30px 0 10px}
.us-article__head{border-bottom:1px solid var(--us-line);padding-bottom:18px;margin-bottom:22px}
.us-article__head h1{font-size:clamp(2rem,5vw,3.1rem);margin:8px 0 14px}
.us-article__excerpt{font-family:var(--us-body);font-size:1.2rem;color:var(--us-ink-2);font-style:italic;margin:0 0 16px}
.us-byline{display:flex;align-items:center;gap:12px;font-family:var(--us-sans);font-size:.85rem;color:var(--us-muted);flex-wrap:wrap}
.us-byline .by{color:var(--us-ink);font-weight:700}
.us-byline .by a{color:var(--us-ink)}
.us-byline .by a:hover{color:var(--us-red)}
.us-figure{margin:0 0 22px}
.us-figure figcaption{font-family:var(--us-sans);font-size:.78rem;color:var(--us-muted);padding-top:7px}
.us-authorbox{margin:34px 0 6px;padding:22px;border:1px solid var(--us-line);background:var(--us-paper-2);display:flex;gap:16px;align-items:flex-start}
.us-authorbox img{border-radius:50%;flex:0 0 auto}
.us-share{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}
.us-share a{font-family:var(--us-sans);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--us-line-2);padding:8px 14px;color:var(--us-ink-2)}
.us-share a:hover{background:var(--us-ink);color:#fff;border-color:var(--us-ink)}

/* Contact form */
.us-contact{display:grid;grid-template-columns:1.3fr .7fr;gap:44px}
@media(max-width:860px){.us-contact{grid-template-columns:1fr;gap:30px}}
.us-form label{display:block;font-family:var(--us-sans);font-size:.82rem;font-weight:600;margin:14px 0 6px}
.us-form input,.us-form textarea,.us-form select{width:100%;padding:12px 13px;border:1px solid var(--us-line-2);background:#fff;font-family:inherit;font-size:1rem}
.us-form input:focus,.us-form textarea:focus{outline:none;border-color:var(--us-red)}
.us-form button{margin-top:18px}
.us-notice{background:var(--us-paper-2);border-left:4px solid var(--us-red);padding:13px 16px;margin-bottom:16px}
.us-info .blk{padding:14px 0;border-bottom:1px solid var(--us-line)}
.us-info .lbl{font-family:var(--us-sans);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--us-red);font-weight:700}
.us-info p{margin:5px 0 0}

/* Pagination */
.us-pagination{display:flex;gap:8px;justify-content:center;margin-top:34px;font-family:var(--us-sans)}
.us-pagination .page-numbers{padding:9px 14px;border:1px solid var(--us-line-2);color:var(--us-ink)}
.us-pagination .current{background:var(--us-ink);color:#fff;border-color:var(--us-ink)}

/* =========================================================
   Footer
   ========================================================= */
.us-footer{background:var(--us-ink);color:#c7c2b8;margin-top:40px;padding:46px 0 0;font-family:var(--us-body)}
.us-footer a{color:#e7e2d8}.us-footer a:hover{color:#fff}
.us-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-bottom:36px}
@media(max-width:820px){.us-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.us-footer-grid{grid-template-columns:1fr}}
.us-footer .brand{font-family:var(--us-head);font-weight:900;font-size:1.7rem;color:#fff}
.us-footer p{font-size:.92rem;margin:12px 0 0;max-width:300px;color:#b7b2a8}
.us-footer h4{font-family:var(--us-sans);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:#fff;margin:0 0 14px}
.us-footer ul{list-style:none;margin:0;padding:0}
.us-footer li{margin-bottom:9px;font-size:.94rem}
.us-legal{border-top:1px solid rgba(255,255,255,.14);padding:18px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--us-sans);font-size:.8rem;color:#8f8a80}
.us-legal a{color:#8f8a80}.us-legal a:hover{color:#fff}

/* Mobile nav */
@media(max-width:900px){
  .us-burger{display:block}
  .us-nav ul{flex-direction:column;align-items:stretch;width:100%;display:none}
  .us-nav.open ul{display:flex}
  .us-nav a{padding:13px 22px;border-top:1px solid rgba(255,255,255,.08)}
  .us-nav .sub-menu{position:static;display:block;padding-left:16px}
}
