/*
Theme Name: Amplifier Music Magazine
Theme URI: https://amplifiermusicmagazine.com/
Author: Amplifier Music Magazine
Description: A bold editorial WordPress theme for Amplifier Music Magazine featuring music news, artist coverage, technology, wire content, video, regional reporting, newsletter promotion, and monetization-ready advertising zones.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
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: amplifier-magazine
Tags: news, magazine, entertainment, grid-layout, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

:root {
  --amp-red: #e3182d;
  --amp-red-dark: #b80f21;
  --amp-ink: #111214;
  --amp-charcoal: #1b1d20;
  --amp-muted: #6e737a;
  --amp-line: #e4e6e8;
  --amp-bg: #f7f7f8;
  --amp-white: #fff;
  --amp-max: 1380px;
  --amp-radius: 4px;
  --amp-shadow: 0 8px 28px rgba(0,0,0,.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--amp-ink);
  background: var(--amp-white);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--amp-red); }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 36px), var(--amp-max)); margin-inline: auto; }
.screen-reader-text { position: absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Top bar */
.amp-topbar { background:#0d0f11; color:#e8eaed; font-size:13px; }
.amp-topbar__inner { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.amp-topbar__links, .amp-social { display:flex; align-items:center; gap:18px; }
.amp-topbar a:hover { color:#fff; }
.amp-search { display:flex; align-items:center; border-left:1px solid #333; padding-left:18px; }
.amp-search input { width:170px; color:#fff; background:transparent; border:0; outline:0; }

/* Masthead */
.amp-masthead { background:#fff; border-bottom:1px solid var(--amp-line); }
.amp-masthead__inner { min-height:132px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.amp-brand img { width:min(620px, 48vw); max-height:96px; object-fit:contain; object-position:left center; }
.amp-brand__text { display:block; font-weight:1000; letter-spacing:-.06em; font-size:clamp(38px, 5vw, 70px); line-height:.84; }
.amp-brand__sub { display:block; color:var(--amp-red); font-size:13px; font-weight:800; letter-spacing:.48em; padding-left:.25em; margin-top:10px; }
.amp-tagline { text-align:right; text-transform:uppercase; letter-spacing:.38em; color:#969aa0; font-size:12px; line-height:1.8; max-width:540px; }
.amp-tagline strong { display:block; color:#4b4f55; font-size:9px; letter-spacing:.46em; }

/* Main nav */
.amp-nav { border-bottom:1px solid var(--amp-line); background:#fff; position:sticky; top:0; z-index:30; }
.amp-nav__inner { min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.amp-nav ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:0; }
.amp-nav li a { display:block; padding:18px 18px 16px; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.01em; }
.amp-nav li.current-menu-item > a, .amp-nav li a:hover { color:var(--amp-red); }
.amp-nav__motto { color:var(--amp-red); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; border-left:3px solid var(--amp-red); padding-left:12px; white-space:nowrap; }
.amp-menu-toggle { display:none; background:var(--amp-ink); color:#fff; border:0; padding:9px 12px; border-radius:3px; }

/* Ads */
.amp-ad { margin:18px auto; }
.amp-ad .widget { margin:0; }
.amp-ad-placeholder { min-height:132px; background:linear-gradient(120deg,#14181d,#223244); color:#fff; display:flex; align-items:center; justify-content:center; text-align:center; padding:28px; position:relative; overflow:hidden; }
.amp-ad-placeholder::before { content:"ADVERTISEMENT"; position:absolute; top:10px; left:12px; font-size:9px; letter-spacing:.28em; opacity:.8; }
.amp-ad-placeholder strong { font-size:clamp(20px, 2.2vw, 34px); }
.amp-ad-placeholder span { display:block; opacity:.74; font-size:13px; margin-top:4px; }
.amp-ad--leaderboard .amp-ad-placeholder { min-height:152px; }
.amp-ad--strip .amp-ad-placeholder { min-height:92px; }
.amp-ad--square .amp-ad-placeholder { min-height:310px; }

/* Breaking */
.amp-breaking { display:flex; align-items:stretch; margin:18px 0 12px; background:#f0f1f2; overflow:hidden; }
.amp-breaking__label { background:var(--amp-red); color:#fff; padding:11px 16px; font-size:12px; font-weight:900; text-transform:uppercase; display:flex; align-items:center; }
.amp-breaking__track { display:flex; align-items:center; overflow:auto; white-space:nowrap; scrollbar-width:none; }
.amp-breaking__track::-webkit-scrollbar { display:none; }
.amp-breaking__track a { padding:10px 18px; font-size:12px; font-weight:650; border-right:1px solid #d3d5d8; }

/* Story cards */
.amp-kicker { color:var(--amp-red); font-weight:900; font-size:12px; text-transform:uppercase; letter-spacing:.02em; }
.amp-story-title { margin:.18em 0; font-weight:900; line-height:1.03; letter-spacing:-.03em; }
.amp-meta { display:flex; align-items:center; gap:7px; color:#70757b; font-size:11px; margin-top:8px; flex-wrap:wrap; }
.amp-meta__dot::before { content:"•"; margin-right:7px; }

.amp-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(460px,1fr); gap:14px; }
.amp-hero { min-height:610px; position:relative; overflow:hidden; background:#16191d; color:#fff; }
.amp-hero img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; opacity:.82; }
.amp-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85) 100%); }
.amp-hero__content { position:absolute; z-index:2; left:30px; right:30px; bottom:28px; }
.amp-hero .amp-story-title { font-size:clamp(36px,4.4vw,62px); max-width:680px; }
.amp-hero__dek { max-width:780px; font-size:16px; color:#f0f1f2; margin:8px 0 0; }
.amp-hero .amp-meta { color:#e6e6e6; }
.amp-hero-fallback { position:absolute; inset:0; background:radial-gradient(circle at 30% 20%, #563044, transparent 32%), linear-gradient(135deg,#101820,#2e1118); }

.amp-secondary-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.amp-card { border:1px solid var(--amp-line); background:#fff; min-width:0; }
.amp-card__image { aspect-ratio:16/9; overflow:hidden; background:#262a2f; }
.amp-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.amp-card:hover .amp-card__image img { transform:scale(1.035); }
.amp-card__body { padding:12px 14px 14px; }
.amp-card .amp-story-title { font-size:21px; }
.amp-card__excerpt { font-size:13px; color:#62676d; line-height:1.4; margin:4px 0; }

/* Section titles */
.amp-section { margin:26px 0; }
.amp-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:10px; border-bottom:1px solid var(--amp-line); margin-bottom:12px; }
.amp-section-heading h2 { margin:0; padding-left:10px; border-left:4px solid var(--amp-red); font-size:20px; line-height:1; text-transform:uppercase; letter-spacing:-.02em; }
.amp-section-heading a { font-size:11px; font-weight:800; color:#5b6066; }

/* Wire */
.amp-content-sidebar { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:18px; align-items:start; }
.amp-wire-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.amp-wire-card { border-right:1px solid var(--amp-line); padding-right:12px; }
.amp-wire-card:last-child { border-right:0; padding-right:0; }
.amp-wire-card img { aspect-ratio:16/10; width:100%; object-fit:cover; background:#ddd; }
.amp-wire-card .amp-story-title { font-size:18px; line-height:1.12; }
.amp-wire-card p { font-size:12px; color:#666b71; margin:.5em 0; }

/* Topic blocks */
.amp-topic-layout { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.amp-topic-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.amp-mini-card img { aspect-ratio:1/1; width:100%; object-fit:cover; background:#e4e5e7; }
.amp-mini-card h3 { font-size:13px; line-height:1.2; margin:7px 0 2px; }
.amp-mini-card .amp-meta { font-size:10px; }
.amp-list-card { display:grid; grid-template-columns:112px 1fr; gap:12px; padding:8px 0; border-bottom:1px solid var(--amp-line); }
.amp-list-card:last-child { border-bottom:0; }
.amp-list-card img { width:112px; height:72px; object-fit:cover; }
.amp-list-card h3 { font-size:15px; line-height:1.15; margin:0; }

/* Lower editorial */
.amp-lower-grid { display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:18px; }
.amp-feature-inline { display:grid; grid-template-columns:42% 1fr; gap:14px; }
.amp-feature-inline img { width:100%; height:100%; min-height:210px; object-fit:cover; }
.amp-video-card { position:relative; }
.amp-video-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.amp-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:54px; height:54px; background:#fff; border-radius:50%; display:grid; place-items:center; box-shadow:0 5px 18px rgba(0,0,0,.25); }
.amp-play::before { content:""; margin-left:4px; border-left:14px solid var(--amp-red); border-top:9px solid transparent; border-bottom:9px solid transparent; }

/* Newsletter */
.amp-newsletter { margin-top:34px; background:linear-gradient(110deg,#111214,#1f2226); color:#fff; }
.amp-newsletter__inner { min-height:108px; display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:28px; }
.amp-newsletter h2 { margin:0 0 3px; font-size:20px; }
.amp-newsletter p { margin:0; color:#c8cbd0; font-size:13px; }
.amp-newsletter form { display:flex; }
.amp-newsletter input { flex:1; min-width:0; border:0; padding:15px 17px; }
.amp-newsletter button { border:0; background:var(--amp-red); color:#fff; padding:15px 28px; font-weight:900; text-transform:uppercase; cursor:pointer; }
.amp-newsletter button:hover { background:var(--amp-red-dark); }

/* Footer */
.amp-footer { background:#0d0f11; color:#b9bdc3; padding:38px 0 22px; }
.amp-footer__grid { display:grid; grid-template-columns:1.25fr .8fr .8fr 1fr; gap:36px; }
.amp-footer h3 { color:#fff; margin:0 0 13px; font-size:12px; text-transform:uppercase; }
.amp-footer ul { list-style:none; margin:0; padding:0; }
.amp-footer li { margin:7px 0; font-size:12px; }
.amp-footer__brand { color:#fff; font-size:26px; font-weight:1000; letter-spacing:-.04em; }
.amp-footer__brand span { display:block; color:var(--amp-red); font-size:9px; letter-spacing:.48em; margin-top:2px; }
.amp-footer__bottom { border-top:1px solid #26292d; margin-top:28px; padding-top:18px; font-size:11px; display:flex; justify-content:space-between; gap:20px; }

/* Archive/single */
.amp-page-wrap { padding:32px 0 60px; }
.amp-archive-title { font-size:clamp(34px,4vw,54px); letter-spacing:-.04em; margin:0 0 24px; }
.amp-archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.amp-single { max-width:860px; margin:0 auto; }
.amp-single__category { color:var(--amp-red); font-weight:900; text-transform:uppercase; font-size:12px; }
.amp-single__title { font-size:clamp(42px,6vw,76px); letter-spacing:-.055em; line-height:.96; margin:12px 0 18px; }
.amp-single__dek { font-size:20px; color:#666b70; line-height:1.45; }
.amp-single__image { margin:28px calc(50% - 50vw); width:100vw; max-height:760px; object-fit:cover; }
.amp-entry-content { font-family:Georgia, "Times New Roman", serif; font-size:19px; line-height:1.78; }
.amp-entry-content > * { max-width:760px; margin-left:auto; margin-right:auto; }
.amp-entry-content h2,.amp-entry-content h3 { font-family:Inter,Arial,sans-serif; line-height:1.15; }
.amp-entry-content blockquote { border-left:4px solid var(--amp-red); padding-left:20px; font-size:1.2em; }
.amp-pagination { margin-top:30px; }

@media (max-width:1100px) {
  .amp-tagline { display:none; }
  .amp-brand img { width:min(720px,70vw); }
  .amp-hero-grid { grid-template-columns:1fr; }
  .amp-hero { min-height:560px; }
  .amp-secondary-grid { grid-template-columns:repeat(4,1fr); }
  .amp-secondary-grid .amp-card .amp-story-title { font-size:17px; }
  .amp-content-sidebar { grid-template-columns:1fr; }
  .amp-sidebar-ad { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .amp-wire-grid { grid-template-columns:repeat(2,1fr); }
  .amp-wire-card { border-right:0; padding-right:0; }
  .amp-topic-layout,.amp-lower-grid { grid-template-columns:1fr; }
}

@media (max-width:820px) {
  .amp-topbar__links { display:none; }
  .amp-masthead__inner { min-height:92px; }
  .amp-brand img { width:min(720px,86vw); max-height:70px; }
  .amp-nav__inner { min-height:50px; }
  .amp-menu-toggle { display:block; }
  .amp-nav__motto { display:none; }
  .amp-nav .menu-primary-container, .amp-nav .amp-fallback-menu { display:none; position:absolute; top:50px; left:0; right:0; background:#fff; border-bottom:1px solid var(--amp-line); box-shadow:var(--amp-shadow); }
  .amp-nav.is-open .menu-primary-container, .amp-nav.is-open .amp-fallback-menu { display:block; }
  .amp-nav ul { display:block; }
  .amp-nav li a { padding:12px 18px; border-top:1px solid var(--amp-line); }
  .amp-hero { min-height:480px; }
  .amp-secondary-grid { grid-template-columns:1fr 1fr; }
  .amp-topic-grid { grid-template-columns:1fr 1fr; }
  .amp-lower-grid { grid-template-columns:1fr; }
  .amp-newsletter__inner { grid-template-columns:1fr; padding:24px 0; }
  .amp-footer__grid { grid-template-columns:1fr 1fr; }
  .amp-archive-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:560px) {
  .container { width:min(calc(100% - 22px), var(--amp-max)); }
  .amp-search { display:none; }
  .amp-topbar__inner { justify-content:center; min-height:34px; }
  .amp-social { font-size:11px; gap:13px; }
  .amp-brand img { width:100%; }
  .amp-breaking__label { padding-inline:10px; }
  .amp-hero { min-height:420px; }
  .amp-hero__content { left:18px; right:18px; bottom:18px; }
  .amp-hero .amp-story-title { font-size:38px; }
  .amp-hero__dek { font-size:14px; }
  .amp-secondary-grid, .amp-wire-grid, .amp-topic-grid, .amp-sidebar-ad, .amp-archive-grid { grid-template-columns:1fr; }
  .amp-feature-inline { grid-template-columns:1fr; }
  .amp-newsletter form { display:block; }
  .amp-newsletter button { width:100%; }
  .amp-footer__grid { grid-template-columns:1fr; }
  .amp-footer__bottom { display:block; }
}
