/*
Theme Name: Go4 Magazine
Theme URI: https://go4magazine.co.uk/
Author: Go4 Magazine Editorial
Author URI: https://go4magazine.co.uk/
Description: A clean, modern magazine theme for Go4Magazine.co.uk featuring a centered logo, light navigation bar, hero slider, most-popular section and category grids. Mobile-first, SEO ready, dark-mode toggle included.
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: go4magazine
Tags: magazine, news, blog, two-columns, right-sidebar, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root{
  --g4-bg:#ffffff;
  --g4-soft:#eef3fb;
  --g4-text:#0b1730;
  --g4-muted:#5a6477;
  --g4-accent:#1d4ed8;
  --g4-accent-2:#0ea5e9;
  --g4-border:#e5e9f2;
  --g4-card:#ffffff;
  --g4-shadow:0 6px 24px rgba(15,23,42,.06);
  --g4-radius:14px;
  --g4-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
[data-theme="dark"]{
  --g4-bg:#0b1220;
  --g4-soft:#101a30;
  --g4-text:#e7ecf5;
  --g4-muted:#9aa6bd;
  --g4-border:#1d2742;
  --g4-card:#121c35;
  --g4-shadow:0 8px 30px rgba(0,0,0,.4);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--g4-bg);color:var(--g4-text);font-family:var(--g4-font);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--g4-accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1240px;margin:0 auto;padding:0 20px}

/* Top bar */
.g4-topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;gap:16px;flex-wrap:wrap}
.g4-socials{display:flex;gap:10px}
.g4-socials a{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--g4-border);border-radius:50%;color:var(--g4-text);transition:.2s}
.g4-socials a:hover{background:var(--g4-accent);color:#fff;border-color:var(--g4-accent);text-decoration:none}
.g4-brand{flex:1;text-align:center}
.g4-brand a{font-size:34px;font-weight:800;letter-spacing:-.5px;color:var(--g4-text)}
.g4-brand a:hover{text-decoration:none;color:var(--g4-accent)}
.g4-tools{display:flex;gap:10px;align-items:center}
.g4-btn{background:var(--g4-accent);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;display:inline-flex;gap:8px;align-items:center;border:0;cursor:pointer}
.g4-btn:hover{background:#1740b8;text-decoration:none;color:#fff}
.g4-icon-btn{width:40px;height:40px;border:1px solid var(--g4-border);background:transparent;border-radius:50%;cursor:pointer;color:var(--g4-text);display:inline-flex;align-items:center;justify-content:center}

/* Nav */
.g4-navwrap{background:var(--g4-soft);border-top:1px solid var(--g4-border);border-bottom:1px solid var(--g4-border)}
.g4-nav{display:flex;justify-content:center;flex-wrap:wrap}
.g4-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
.g4-nav li{position:relative}
.g4-nav a{display:block;padding:16px 18px;color:var(--g4-text);font-weight:600;font-size:15px}
.g4-nav .current-menu-item>a,.g4-nav a:hover{color:var(--g4-accent);text-decoration:none}
.g4-nav .sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--g4-card);box-shadow:var(--g4-shadow);border:1px solid var(--g4-border);min-width:220px;z-index:50;border-radius:10px;overflow:hidden}
.g4-nav li:hover>.sub-menu{display:block}
.g4-nav .sub-menu a{padding:12px 16px;font-weight:500}
.g4-burger{display:none;background:none;border:0;font-size:24px;cursor:pointer;color:var(--g4-text);padding:14px}

/* Hero slider */
.g4-hero{padding:30px 0}
.g4-slider{position:relative;overflow:hidden;border-radius:var(--g4-radius)}
.g4-slides{display:flex;gap:18px;transition:transform .5s ease}
.g4-slide{flex:0 0 calc(33.333% - 12px);position:relative;border-radius:var(--g4-radius);overflow:hidden;min-height:420px;background:#222}
.g4-slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.g4-slide .g4-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.85) 100%);padding:24px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.g4-slide .g4-cat{display:inline-block;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);color:#fff;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;margin-bottom:10px;align-self:flex-start}
.g4-slide h2{font-size:22px;line-height:1.3;margin:0 0 12px;color:#fff}
.g4-slide h2 a{color:#fff}
.g4-meta{display:flex;align-items:center;gap:12px;font-size:13px;color:#dbe3f1}
.g4-meta img{width:24px;height:24px;border-radius:50%}
.g4-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.9);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;color:#0b1730}
.g4-arrow.prev{left:10px}.g4-arrow.next{right:10px}

/* Section heading */
.g4-section{padding:40px 0}
.g4-section-title{text-align:center;position:relative;margin:0 0 30px;font-size:22px;font-weight:700}
.g4-section-title:before,.g4-section-title:after{content:"";display:inline-block;width:80px;height:1px;background:var(--g4-border);vertical-align:middle;margin:0 16px}

/* Popular row */
.g4-popular{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.g4-pop-item{display:flex;gap:14px;align-items:flex-start}
.g4-pop-item .thumb{width:90px;height:90px;border-radius:50%;flex-shrink:0;overflow:hidden;border:3px solid var(--g4-border)}
.g4-pop-item .thumb img{width:100%;height:100%;object-fit:cover}
.g4-pop-item .cat{font-size:12px;color:var(--g4-accent);font-weight:600;text-transform:uppercase}
.g4-pop-item h4{font-size:15px;margin:6px 0 0;line-height:1.4}
.g4-pop-item h4 a{color:var(--g4-text)}

/* Category section */
.g4-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.g4-card{background:var(--g4-card);border:1px solid var(--g4-border);border-radius:var(--g4-radius);overflow:hidden;box-shadow:var(--g4-shadow);transition:.25s}
.g4-card:hover{transform:translateY(-4px)}
.g4-card .img{aspect-ratio:16/10;overflow:hidden;background:#eee}
.g4-card .img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.g4-card:hover .img img{transform:scale(1.05)}
.g4-card .body{padding:18px}
.g4-card .cat-tag{display:inline-block;background:var(--g4-soft);color:var(--g4-accent);padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;margin-bottom:10px}
.g4-card h3{font-size:18px;line-height:1.4;margin:0 0 10px}
.g4-card h3 a{color:var(--g4-text)}
.g4-card .excerpt{color:var(--g4-muted);font-size:14px;margin:0 0 14px}
.g4-card .read{font-weight:600;color:var(--g4-accent);font-size:14px}

/* Single post */
.g4-single{max-width:840px;margin:0 auto;padding:40px 20px}
.g4-single h1{font-size:36px;line-height:1.2;margin:0 0 16px}
.g4-single .featured{border-radius:var(--g4-radius);overflow:hidden;margin:20px 0}
.g4-single .post-meta{color:var(--g4-muted);font-size:14px;margin-bottom:20px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.g4-single .post-content{font-size:17px;line-height:1.8}
.g4-single .post-content h2{margin-top:36px;font-size:26px}
.g4-single .post-content h3{margin-top:28px;font-size:21px}
.g4-single .post-content blockquote{border-left:4px solid var(--g4-accent);padding:10px 20px;background:var(--g4-soft);border-radius:8px;margin:20px 0;font-style:italic}
.g4-author-box{display:flex;gap:18px;align-items:center;padding:22px;background:var(--g4-soft);border-radius:var(--g4-radius);margin:30px 0}
.g4-author-box img{width:70px;height:70px;border-radius:50%}
.g4-author-box strong{display:block;font-size:16px}
.g4-share{display:flex;gap:10px;margin:20px 0}
.g4-share a{padding:8px 16px;background:var(--g4-soft);border-radius:8px;font-size:14px;color:var(--g4-text)}

/* Page */
.g4-page{max-width:900px;margin:0 auto;padding:40px 20px}
.g4-page h1{font-size:32px;margin-bottom:20px}

/* Footer */
.g4-footer{background:var(--g4-soft);border-top:1px solid var(--g4-border);padding:50px 0 0;margin-top:60px}
.g4-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:30px}
.g4-footer h4{font-size:16px;margin:0 0 14px;color:var(--g4-text)}
.g4-footer ul{list-style:none;padding:0;margin:0}
.g4-footer ul li{margin-bottom:8px}
.g4-footer ul a{color:var(--g4-muted);font-size:14px}
.g4-footer ul a:hover{color:var(--g4-accent)}
.g4-footer-brand{font-size:24px;font-weight:800;margin-bottom:10px;color:var(--g4-text)}
.g4-footer p{color:var(--g4-muted);font-size:14px;margin:6px 0}
.g4-copy{border-top:1px solid var(--g4-border);text-align:center;padding:20px;color:var(--g4-muted);font-size:13px}

/* Forms */
input[type=text],input[type=email],textarea,input[type=search]{width:100%;padding:12px 14px;border:1px solid var(--g4-border);border-radius:10px;background:var(--g4-bg);color:var(--g4-text);font-family:inherit;font-size:15px}
textarea{min-height:140px}
form p{margin:0 0 14px}

/* Pagination */
.g4-pagination{display:flex;justify-content:center;gap:8px;margin:30px 0}
.g4-pagination a,.g4-pagination span{padding:10px 14px;border:1px solid var(--g4-border);border-radius:8px;color:var(--g4-text)}
.g4-pagination .current{background:var(--g4-accent);color:#fff;border-color:var(--g4-accent)}

/* Responsive */
@media (max-width: 960px){
  .g4-popular{grid-template-columns:repeat(2,1fr)}
  .g4-grid{grid-template-columns:repeat(2,1fr)}
  .g4-slide{flex:0 0 calc(50% - 9px);min-height:340px}
  .g4-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 720px){
  .g4-topbar{padding:14px 16px}
  .g4-brand a{font-size:26px}
  .g4-burger{display:inline-flex}
  .g4-nav ul{display:none;flex-direction:column;width:100%}
  .g4-nav.open ul{display:flex}
  .g4-nav a{padding:14px 16px;border-bottom:1px solid var(--g4-border)}
  .g4-slide{flex:0 0 100%;min-height:300px}
  .g4-slide h2{font-size:18px}
  .g4-popular{grid-template-columns:1fr}
  .g4-grid{grid-template-columns:1fr}
  .g4-footer-grid{grid-template-columns:1fr}
  .g4-single h1{font-size:26px}
}
