/*
Theme Name: HitzBaze
Theme URI: https://hitzbaze.com.ng
Author: HitzBaze Editorial
Author URI: https://hitzbaze.com.ng
Description: A fast, mobile-first WordPress theme for music download and streaming sites — built for songs, albums, mixtapes, lyrics and artist content across Naija, Amapiano/SA, Gospel and more. Includes download-button components, an embeddable audio player, genre taxonomy, MusicRecording/MusicAlbum schema, and AdSense-ready ad slots. No page builder required.
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hitzbaze
Tags: blog, music, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

HitzBaze is a standalone WordPress theme (no parent theme required).
*/

/* -----------------------------------------------------------
   1. CSS VARIABLES / BRAND SYSTEM
----------------------------------------------------------- */
:root{
  --hb-black:#0B0B0C;
  --hb-white:#ffffff;
  --hb-accent:#E4362B;       /* primary CTA / download button */
  --hb-accent-dark:#B7241A;
  --hb-gold:#FFB100;         /* "Hot" / trending badge */
  --hb-gray-50:#F7F7F8;
  --hb-gray-100:#EEEEF0;
  --hb-gray-200:#DDDEE2;
  --hb-gray-400:#8B8D93;
  --hb-gray-600:#55575E;
  --hb-gray-800:#202124;
  --hb-radius:8px;
  --hb-max-width:1200px;
  --hb-font-body:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --hb-font-heading:'Poppins','Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --hb-shadow-sm:0 1px 2px rgba(0,0,0,.08);
  --hb-shadow-md:0 6px 20px rgba(0,0,0,.12);
}

/* -----------------------------------------------------------
   2. RESET / BASE
----------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;font-family:var(--hb-font-body);color:var(--hb-black);background:var(--hb-white);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--hb-accent);text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--hb-accent-dark);text-decoration:underline;}
h1,h2,h3,h4,h5,h6{font-family:var(--hb-font-heading);font-weight:700;line-height:1.25;color:var(--hb-black);margin:0 0 .5em;}
h1{font-size:clamp(1.5rem,4vw,2.2rem);}
h2{font-size:clamp(1.25rem,3vw,1.6rem);}
h3{font-size:1.1rem;}
p{margin:0 0 1.1em;}
ul,ol{padding-left:1.3em;}
button,input,select,textarea{font-family:inherit;font-size:1rem;}
audio{width:100%;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--hb-black);color:#fff;padding:.75em 1.2em;z-index:100000;}
.skip-link:focus{left:8px;top:8px;}
:focus-visible{outline:3px solid var(--hb-accent);outline-offset:2px;}

.hb-container{max-width:var(--hb-max-width);margin:0 auto;padding:0 20px;}

/* -----------------------------------------------------------
   3. HEADER
----------------------------------------------------------- */
.hb-site-header{border-bottom:1px solid var(--hb-gray-200);background:var(--hb-white);position:sticky;top:0;z-index:999;}
.hb-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;max-width:var(--hb-max-width);margin:0 auto;}
.hb-logo{font-family:var(--hb-font-heading);font-weight:800;font-size:1.5rem;color:var(--hb-black);letter-spacing:-.5px;display:flex;align-items:center;}
.hb-logo span{color:var(--hb-accent);}
.hb-logo img{max-height:40px;width:auto;}

.hb-primary-nav{display:none;}
.hb-primary-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.hb-primary-nav a{color:var(--hb-black);font-weight:600;font-size:.92rem;padding:8px 12px;border-radius:999px;display:inline-block;}
.hb-primary-nav a:hover{background:var(--hb-accent);color:#fff;text-decoration:none;}

.hb-header-actions{display:flex;align-items:center;gap:8px;}
.hb-search-toggle,.hb-menu-toggle{background:none;border:1px solid var(--hb-gray-200);border-radius:6px;padding:8px 10px;cursor:pointer;color:var(--hb-black);}
.hb-search-toggle:hover,.hb-menu-toggle:hover{background:var(--hb-gray-50);}

.hb-header-search{display:none;padding:12px 20px;border-top:1px solid var(--hb-gray-200);background:var(--hb-gray-50);}
.hb-header-search.is-open{display:block;}
.hb-header-search form{max-width:var(--hb-max-width);margin:0 auto;display:flex;gap:8px;}
.hb-header-search input[type="search"]{flex:1;padding:10px 14px;border:1px solid var(--hb-gray-200);border-radius:6px;}
.hb-header-search button{background:var(--hb-accent);color:#fff;border:0;border-radius:6px;padding:10px 16px;cursor:pointer;font-weight:600;}

.hb-mobile-nav{display:none;background:#fff;border-top:1px solid var(--hb-gray-200);}
.hb-mobile-nav.is-open{display:block;}
.hb-mobile-nav ul{list-style:none;margin:0;padding:8px 20px 16px;}
.hb-mobile-nav a{display:block;padding:10px 0;color:var(--hb-black);font-weight:600;border-bottom:1px solid var(--hb-gray-100);}

@media(min-width:960px){.hb-primary-nav{display:block;}.hb-menu-toggle{display:none;}}

/* Genre strip (secondary nav under header) */
.hb-genre-strip{background:var(--hb-black);overflow-x:auto;white-space:nowrap;}
.hb-genre-strip .hb-container{padding:8px 20px;}
.hb-genre-strip a{color:#fff;font-size:.82rem;font-weight:600;margin-right:18px;opacity:.85;}
.hb-genre-strip a:hover{opacity:1;color:var(--hb-gold);text-decoration:none;}

/* -----------------------------------------------------------
   4. BREADCRUMBS
----------------------------------------------------------- */
.hb-breadcrumbs{font-size:.82rem;color:var(--hb-gray-600);padding:12px 0;}
.hb-breadcrumbs a{color:var(--hb-gray-600);}
.hb-breadcrumbs a:hover{color:var(--hb-accent);}
.hb-breadcrumbs .sep{margin:0 6px;color:var(--hb-gray-400);}

/* -----------------------------------------------------------
   5. HERO — "Hot Right Now"
----------------------------------------------------------- */
.hb-hero{padding:24px 0;border-bottom:1px solid var(--hb-gray-100);}
.hb-hero-label{color:var(--hb-white);background:var(--hb-accent);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:4px;display:inline-block;margin-bottom:10px;}
.hb-hero-grid{display:grid;grid-template-columns:1fr;gap:18px;}
.hb-hero-image{border-radius:var(--hb-radius);overflow:hidden;aspect-ratio:1/1;background:var(--hb-gray-100);max-width:320px;}
.hb-hero-image img{width:100%;height:100%;object-fit:cover;}
.hb-artist-name{color:var(--hb-accent);font-weight:700;font-size:.95rem;}
.hb-btn{display:inline-flex;align-items:center;gap:6px;background:var(--hb-accent);color:#fff;padding:11px 20px;border-radius:6px;font-weight:700;font-size:.92rem;border:0;cursor:pointer;}
.hb-btn:hover{background:var(--hb-accent-dark);color:#fff;text-decoration:none;}
.hb-btn-outline{background:transparent;border:2px solid var(--hb-black);color:var(--hb-black);}
.hb-btn-outline:hover{background:var(--hb-black);color:#fff;}
@media(min-width:800px){.hb-hero-grid{grid-template-columns:320px 1fr;align-items:center;}}

/* -----------------------------------------------------------
   6. SECTIONS / CARDS / GRIDS
----------------------------------------------------------- */
.hb-section{padding:30px 0;}
.hb-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;border-bottom:3px solid var(--hb-black);padding-bottom:8px;}
.hb-section-head h2{margin:0;}
.hb-section-head .hb-view-all{font-size:.82rem;font-weight:700;color:var(--hb-accent);white-space:nowrap;}

.hb-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;}
@media(min-width:640px){.hb-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.hb-grid{grid-template-columns:repeat(3,1fr);}}
.hb-grid.hb-grid-4{grid-template-columns:1fr;}
@media(min-width:640px){.hb-grid.hb-grid-4{grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.hb-grid.hb-grid-4{grid-template-columns:repeat(4,1fr);}}

/*
 * IMPORTANT: .hb-card must NOT have overflow:hidden. In a CSS Grid with items that default to
 * align-items:stretch, an aspect-ratio image plus overflow:hidden on the card causes some
 * browsers to size the card to just the image's height and visually clip the title/excerpt/meta
 * text below it — the text still exists in the DOM but is invisible. align-items:start on
 * .hb-grid (above) plus overflow:visible + height:auto here is the fix; only the thumbnail
 * itself (.hb-card-thumb, below) needs overflow:hidden to round its own corners.
 */
.hb-card{background:#fff;border:1px solid var(--hb-gray-100);border-radius:var(--hb-radius);overflow:visible;height:auto;transition:box-shadow .15s ease;position:relative;}
.hb-card:hover{box-shadow:var(--hb-shadow-md);}
.hb-card-thumb{aspect-ratio:1/1;background:var(--hb-gray-100);overflow:hidden;position:relative;}
.hb-card-thumb img{width:100%;height:100%;object-fit:cover;}
.hb-hot-badge{position:absolute;top:8px;left:8px;background:var(--hb-gold);color:#000;font-size:.68rem;font-weight:800;text-transform:uppercase;padding:3px 8px;border-radius:4px;}
.hb-card-body{padding:12px 14px 16px;}
.hb-card-type{color:var(--hb-accent);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.hb-card-title{font-size:1rem;margin:5px 0;display:block;}
.hb-card-title a{color:var(--hb-black);display:block;}
.hb-card-title a:hover{color:var(--hb-accent);text-decoration:none;}
.hb-card-artist{font-size:.85rem;color:var(--hb-gray-600);margin-bottom:8px;}
.hb-card-excerpt{font-size:.85rem;color:var(--hb-gray-600);margin:0 0 8px;line-height:1.5;}
.hb-card-meta{font-size:.75rem;color:var(--hb-gray-400);}
.hb-download-link{font-size:.8rem;font-weight:700;color:var(--hb-accent);}

.hb-list-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--hb-gray-100);align-items:center;}
.hb-list-row .hb-card-thumb{width:64px;flex:0 0 64px;border-radius:6px;}
.hb-list-row .hb-card-body{padding:0;flex:1;}
.hb-list-rank{font-family:var(--hb-font-heading);font-weight:800;font-size:1.3rem;color:var(--hb-accent);flex:0 0 28px;text-align:center;}

/* -----------------------------------------------------------
   7. LAYOUT (content + sidebar)
----------------------------------------------------------- */
.hb-layout{display:grid;grid-template-columns:1fr;gap:32px;padding:20px 0 48px;}
@media(min-width:960px){
  .hb-layout{grid-template-columns:2.2fr 1fr;}
  .hb-layout.hb-no-sidebar{grid-template-columns:1fr;}
}
.hb-sidebar-widget{background:var(--hb-gray-50);border-radius:var(--hb-radius);padding:16px;margin-bottom:18px;}
.hb-sidebar-widget h3{font-size:1rem;border-bottom:3px solid var(--hb-accent);padding-bottom:8px;margin-bottom:10px;}
.hb-sidebar-widget ul{list-style:none;margin:0;padding:0;}
.hb-sidebar-widget li{padding:0;border-bottom:1px solid var(--hb-gray-100);}
.hb-sidebar-widget li:last-child{border-bottom:0;}
.hb-sidebar-search input{width:100%;padding:10px;border:1px solid var(--hb-gray-200);border-radius:6px;margin-bottom:8px;}
.hb-sidebar-search button{width:100%;background:var(--hb-accent);color:#fff;border:0;border-radius:6px;padding:10px;font-weight:700;cursor:pointer;}

/* -----------------------------------------------------------
   8. SINGLE SONG / ALBUM / MIXTAPE PAGE
----------------------------------------------------------- */
.hb-article-header{padding:18px 0;}
.hb-article-header h1{margin-bottom:10px;}
.hb-article-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--hb-gray-600);align-items:center;border-top:1px solid var(--hb-gray-100);border-bottom:1px solid var(--hb-gray-100);padding:10px 0;margin-bottom:18px;}
.hb-article-meta strong{color:var(--hb-black);}
.hb-featured-image{border-radius:var(--hb-radius);overflow:hidden;margin-bottom:20px;max-width:360px;aspect-ratio:1/1;background:var(--hb-gray-100);}
.hb-featured-image img{width:100%;height:100%;object-fit:cover;}

/* Audio player */
.hb-player-box{background:var(--hb-black);border-radius:var(--hb-radius);padding:16px;margin:20px 0;}
.hb-player-box audio{border-radius:6px;}
.hb-player-box .hb-player-label{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;opacity:.7;}
.hb-embed-wrap{position:relative;width:100%;padding-top:56.25%;border-radius:var(--hb-radius);overflow:hidden;margin:20px 0;background:var(--hb-gray-100);}
.hb-embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* Download box */
.hb-download-box{background:var(--hb-gray-50);border:1px solid var(--hb-gray-200);border-radius:var(--hb-radius);padding:20px;margin:22px 0;text-align:center;}
.hb-download-box h2{font-size:1.1rem;margin-bottom:14px;}
.hb-download-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.hb-download-btns .hb-btn{flex:0 0 auto;}
.hb-download-filesize{font-size:.72rem;opacity:.85;font-weight:400;}
.hb-download-note{font-size:.78rem;color:var(--hb-gray-400);margin-top:12px;}

/* Song / Album info box */
.hb-info-box{background:#fff;border:1px solid var(--hb-gray-200);border-radius:var(--hb-radius);margin:20px 0;overflow:hidden;box-shadow:var(--hb-shadow-sm);}
.hb-info-box-head{background:var(--hb-black);color:#fff;padding:10px 16px;font-family:var(--hb-font-heading);font-weight:700;font-size:.88rem;letter-spacing:.03em;text-transform:uppercase;}
.hb-info-box-body{padding:4px 16px;}
.hb-info-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--hb-gray-100);font-size:.88rem;}
.hb-info-row:last-child{border-bottom:0;}
.hb-info-row dt{color:var(--hb-gray-600);font-weight:600;margin:0;flex:0 0 40%;}
.hb-info-row dd{margin:0;font-weight:600;text-align:right;color:var(--hb-black);}
@media(max-width:480px){.hb-info-row{flex-direction:column;gap:2px;}.hb-info-row dd{text-align:left;}}

/* Tracklist (albums/mixtapes) */
.hb-tracklist{margin:22px 0;}
.hb-tracklist ol{list-style:none;padding:0;margin:0;}
.hb-tracklist li{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--hb-gray-100);font-size:.92rem;}
.hb-tracklist li:nth-child(odd){background:var(--hb-gray-50);}
.hb-tracklist .hb-track-num{color:var(--hb-gray-400);font-weight:700;margin-right:10px;}

/* Lyrics */
.hb-lyrics{background:var(--hb-gray-50);border-radius:var(--hb-radius);padding:20px;margin:22px 0;white-space:pre-line;line-height:1.9;font-size:1rem;}

/* Article content / body copy */
.hb-article-content{font-size:1.02rem;color:var(--hb-gray-800);}
.hb-article-content h2{margin-top:1.5em;}
.hb-article-content h3{margin-top:1.2em;}

/* FAQ */
.hb-faq{margin:22px 0;}
.hb-faq-item{border-bottom:1px solid var(--hb-gray-100);padding:12px 0;}
.hb-faq-item summary{font-weight:700;cursor:pointer;font-family:var(--hb-font-heading);}
.hb-faq-item p{margin-top:8px;color:var(--hb-gray-800);}

/* Share */
.hb-share{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;}
.hb-share a{border:1px solid var(--hb-gray-200);border-radius:6px;padding:7px 12px;font-size:.8rem;font-weight:700;color:var(--hb-black);}
.hb-share a:hover{background:var(--hb-accent);color:#fff;border-color:var(--hb-accent);text-decoration:none;}

/* Author box */
.hb-author-box{display:flex;gap:14px;background:var(--hb-gray-50);border-radius:var(--hb-radius);padding:18px;margin:26px 0;align-items:flex-start;}
.hb-author-box img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 56px;}
.hb-author-box h3{margin:0 0 4px;font-size:.95rem;}
.hb-author-box p{margin:0 0 6px;font-size:.85rem;color:var(--hb-gray-600);}

.hb-related{padding:26px 0;border-top:1px solid var(--hb-gray-100);}

/* Ad slots */
.hb-ad-slot{margin:22px auto;text-align:center;max-width:100%;}
.hb-ad-slot .hb-ad-label{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--hb-gray-400);margin-bottom:6px;}
.hb-ad-slot:empty{display:none;}

/* -----------------------------------------------------------
   9. FOOTER
----------------------------------------------------------- */
.hb-site-footer{background:var(--hb-black);color:#cfd0d3;margin-top:40px;}
.hb-footer-grid{display:grid;grid-template-columns:1fr;gap:26px;padding:40px 20px 20px;max-width:var(--hb-max-width);margin:0 auto;}
@media(min-width:800px){.hb-footer-grid{grid-template-columns:repeat(4,1fr);}}
.hb-footer-col h3{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;}
.hb-footer-col p{font-size:.86rem;color:#a7a8ad;}
.hb-footer-col ul{list-style:none;margin:0;padding:0;}
.hb-footer-col li{margin-bottom:7px;font-size:.88rem;}
.hb-footer-col a{color:#cfd0d3;}
.hb-footer-col a:hover{color:#fff;}
.hb-footer-social{display:flex;gap:10px;}
.hb-footer-social a{width:34px;height:34px;border:1px solid #38393d;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.hb-footer-bottom{border-top:1px solid #29292c;text-align:center;padding:14px 20px;font-size:.8rem;color:#8a8b90;}

/* -----------------------------------------------------------
   10. 404 / SEARCH / PAGINATION
----------------------------------------------------------- */
.hb-404{text-align:center;padding:56px 20px;}
.hb-404 .hb-404-code{font-size:3.6rem;font-weight:800;color:var(--hb-accent);font-family:var(--hb-font-heading);}
.hb-pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:28px 0;}
.hb-pagination a,.hb-pagination span{border:1px solid var(--hb-gray-200);border-radius:6px;padding:8px 14px;font-size:.88rem;font-weight:600;color:var(--hb-black);}
.hb-pagination .current{background:var(--hb-accent);color:#fff;border-color:var(--hb-accent);}
.hb-pagination a:hover{background:var(--hb-gray-50);text-decoration:none;}

/* -----------------------------------------------------------
   11. COMMENTS
----------------------------------------------------------- */
.hb-comments{margin-top:32px;padding-top:22px;border-top:1px solid var(--hb-gray-100);}
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list .comment{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--hb-gray-100);}
#respond input[type="text"],#respond input[type="email"],#respond textarea{width:100%;padding:10px;border:1px solid var(--hb-gray-200);border-radius:6px;margin-bottom:10px;}
#respond .form-submit input{background:var(--hb-accent);color:#fff;border:0;border-radius:6px;padding:10px 20px;font-weight:700;cursor:pointer;}

/* -----------------------------------------------------------
   12. UTILITIES
----------------------------------------------------------- */
.hb-newsletter{background:#FFF3E0;border-radius:var(--hb-radius);padding:18px;text-align:center;margin:22px 0;}
@media print{.hb-site-header,.hb-site-footer,.hb-ad-slot,.hb-share{display:none;}}
