/*
Theme Name: EverBBQ News
Theme URI: https://everbbq.com.au/
Template: generatepress
Author: EverBBQ
Author URI: https://everbbq.com.au/
Description: EverBBQ News — a bold charcoal-and-flame BBQ news & magazine GeneratePress child theme. Condensed masthead, category nav, lead story + grids, author pages with bylines, smart image fallbacks, and built-in NewsArticle + Article + ProfilePage schema. Seeds About, 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: everbbq
*/

/* =========================================================
   Tokens — EverBBQ charcoal + flame
   ========================================================= */
:root{
  --us-ink:     #1b1613;
  --us-ink-2:   #39312c;
  --us-paper:   #faf6ef;
  --us-paper-2: #f1e9dc;
  --us-muted:   #7c7169;
  --us-line:    #e7ddcd;
  --us-line-2:  #d8ccb7;
  --us-red:     #e8511f;   /* flame orange (links, labels, accents) */
  --us-red-2:   #c23f12;   /* darker flame */
  --us-char:    #19140f;   /* charcoal (nav, masthead, footer) */
  --us-ember:   #ff7a1a;   /* ember highlight */
  --us-max:     1220px;
  --us-head:    "Oswald", "Arial Narrow", Arial, sans-serif;
  --us-brandfont: "Anton", "Oswald", Impact, sans-serif;
  --us-body:    "Inter", "Helvetica Neue", Arial, sans-serif;
  --us-sans:    "Oswald", "Arial Narrow", 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:700;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:.06em;text-transform:uppercase;font-size:.82rem;padding:13px 28px;border:0;cursor:pointer;transition:background .2s}
.us-btn:hover{background:var(--us-red-2);color:#fff}
.us-btn--ghost{background:transparent;border:2px 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{background:var(--us-char);color:#d8cfc6;border-top:4px solid var(--us-red);font-family:var(--us-sans);font-size:.78rem}
.us-topbar .us-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 22px;flex-wrap:wrap}
.us-topbar .date{text-transform:uppercase;letter-spacing:.09em}
.us-topbar .links a{color:#d8cfc6;margin-left:18px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.us-topbar .links a:hover{color:var(--us-ember)}

.us-masthead{text-align:center;padding:26px 22px 20px;background:var(--us-paper)}
.us-masthead .brand{font-family:var(--us-brandfont);font-weight:400;font-size:clamp(2.8rem,8vw,5.4rem);letter-spacing:.02em;line-height:.92;color:var(--us-ink);display:inline-block;text-transform:uppercase}
.us-masthead .brand:hover{color:var(--us-ink)}
.us-masthead .brand span{color:var(--us-red)}
.us-masthead .sub{font-family:var(--us-sans);text-transform:uppercase;letter-spacing:.3em;font-size:.76rem;font-weight:500;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-char);position:sticky;top:0;z-index:200;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.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:#ede6dd;font-family:var(--us-sans);font-weight:600;text-transform:uppercase;letter-spacing:.09em;font-size:.84rem;padding:14px 16px}
.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-char);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.55rem;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.us-sectitle h2 a{color:var(--us-ink)}
.us-sectitle::after{content:"";height:3px;background:var(--us-ink);flex:1}
.us-sectitle--red h2{color:var(--us-red)}
.us-sectitle--red::after{background:var(--us-red)}
.us-meta{font-family:var(--us-sans);font-size:.76rem;color:var(--us-muted);text-transform:uppercase;letter-spacing:.06em}
.us-cat{font-family:var(--us-sans);font-size:.74rem;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:4px 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.6vw,3.2rem);margin:6px 0 14px;letter-spacing:-.01em;text-transform:uppercase}
.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.06rem;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:28px}
@media(max-width:860px){.us-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.us-grid{grid-template-columns:1fr}}
.us-card .us-card__img{aspect-ratio:16/10;margin-bottom:12px}
.us-card .us-cat{display:inline-block;margin-bottom:6px}
.us-card h3{font-size:1.2rem;line-height:1.24;margin:4px 0 8px;text-transform:uppercase}
.us-card p{color:var(--us-ink-2);font-size:.95rem;margin:0 0 10px}

/* Two-column: latest + sidebar */
.us-cols{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start}
@media(max-width:900px){.us-cols{grid-template-columns:1fr;gap:30px}}
.us-side-widget{border-top:3px solid var(--us-ink);padding-top:14px;margin-bottom:30px}
.us-side-widget h4{font-family:var(--us-head);text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem;margin:0 0 12px;color:var(--us-ink)}
.us-side-widget ol{margin:0;padding:0 0 0 0;list-style:none;counter-reset:t}
.us-side-widget ol li{counter-increment:t;position:relative;padding:11px 0 11px 42px;border-bottom:1px solid var(--us-line);font-family:var(--us-head);font-size:1rem;line-height:1.25}
.us-side-widget ol li::before{content:counter(t);position:absolute;left:0;top:9px;font-family:var(--us-brandfont);font-size:1.4rem;color:var(--us-red);line-height:1}

/* Listing hero / archive */
.us-lhero{border-top:4px 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:.76rem;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);text-transform:uppercase}

/* Prose */
.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:4px 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-red)}
.us-authorhero h1{font-size:clamp(1.8rem,4.4vw,2.6rem);margin:4px 0 0;text-transform:uppercase}
.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-red);margin:0 auto 12px}
.us-authorcard .us-cat{display:block;margin-bottom:4px}
.us-authorcard h3{font-size:1.1rem;margin:0 0 8px;text-transform:uppercase}
.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;text-transform:uppercase}
.us-article__excerpt{font-family:var(--us-body);font-size:1.18rem;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:.86rem;color:var(--us-muted);flex-wrap:wrap;text-transform:uppercase;letter-spacing:.04em}
.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:.78rem;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)}

/* List (related) */
.us-list{display:flex;flex-direction:column;gap:18px}
.us-list__item{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:start;padding-bottom:16px;border-bottom:1px solid var(--us-line)}
.us-list__item:last-child{border-bottom:0}
.us-list__item .thumb{aspect-ratio:4/3;display:block}
.us-list__item h3{font-size:1.08rem;line-height:1.26;margin:5px 0 6px;text-transform:uppercase}
@media(max-width:480px){.us-list__item{grid-template-columns:100px 1fr;gap:12px}}

/* Pagination */
.us-pagination{display:flex;gap:8px;justify-content:center;margin-top:40px;font-family:var(--us-sans);flex-wrap:wrap}
.us-pagination .page-numbers{display:inline-block;padding:9px 15px;border:1px solid var(--us-line-2);color:var(--us-ink);font-weight:600;text-transform:uppercase;font-size:.82rem}
.us-pagination .current{background:var(--us-red);color:#fff;border-color:var(--us-red)}
.us-pagination a.page-numbers:hover{background:var(--us-ink);color:#fff;border-color:var(--us-ink)}

/* Contact */
.us-contact{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
@media(max-width:820px){.us-contact{grid-template-columns:1fr;gap:28px}}
.us-form label{display:block;font-family:var(--us-sans);text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;font-weight:600;color:var(--us-ink-2);margin:14px 0 6px}
.us-form input,.us-form textarea{width:100%;padding:12px 14px;border:1px solid var(--us-line-2);background:#fff;font-family:var(--us-body);font-size:1rem;color:var(--us-ink)}
.us-form input:focus,.us-form textarea:focus{outline:none;border-color:var(--us-red)}
.us-form .us-btn{margin-top:18px}
.us-info{background:var(--us-paper-2);border:1px solid var(--us-line);padding:22px}
.us-info .blk{margin-bottom:16px}
.us-info .lbl{font-family:var(--us-sans);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;color:var(--us-red)}
.us-info p{margin:3px 0 0}
.us-notice{background:#ecf7ec;border:1px solid #bfe3bf;color:#246b24;padding:12px 16px;margin-bottom:18px;font-size:.95rem}

/* =========================================================
   Footer
   ========================================================= */
.us-footer{background:var(--us-char);color:#cfc6bc;margin-top:50px;padding:46px 0 26px;font-size:.95rem}
.us-footer a{color:#cfc6bc}
.us-footer a:hover{color:var(--us-ember)}
.us-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:30px;padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}
@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-brandfont);font-size:2rem;color:#fff;text-transform:uppercase;letter-spacing:.02em;display:block;margin-bottom:10px}
.us-footer p{margin:0;color:#a89e94;line-height:1.6}
.us-footer h4{font-family:var(--us-head);text-transform:uppercase;letter-spacing:.06em;font-size:.92rem;color:#fff;margin:0 0 12px}
.us-footer ul{list-style:none;margin:0;padding:0}
.us-footer li{padding:6px 0}
.us-legal{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:20px;font-family:var(--us-sans);font-size:.8rem;color:#9a9087;text-transform:uppercase;letter-spacing:.04em}

/* =========================================================
   Mobile nav
   ========================================================= */
@media(max-width:1000px){
  .us-nav ul{display:none;flex-direction:column;width:100%;background:var(--us-char)}
  .us-nav ul.open{display:flex}
  .us-nav li{width:100%;text-align:center}
  .us-nav .sub-menu{position:static;min-width:0}
  .us-burger{display:block}
  .us-nav-inner{justify-content:flex-start;min-height:48px}
}
