/*
Theme Name: DJ Keywe
Theme URI: https://djkeywe.com
Author: DJ Keywe
Author URI: https://djkeywe.com
Description: Official WordPress theme for DJ Keywe - The King of Lituation. Lagos, Nigeria.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: djkeywe
Tags: music, dj, one-page, dark, custom-logo
*/

/* ==========================================
   DJ KEYWE THEME — MAIN STYLESHEET
   ========================================== */

:root {
  --yellow: #F5C800;
  --bg: #0A0A0A;
  --dark: #111111;
  --card: #161616;
  --mid: #1E1E1E;
  --text: #FFFFFF;
  --muted: #888888;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Barlow', sans-serif;
  overflow-x: hidden;
}

/* Google Fonts loaded via functions.php */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow+Condensed:wght@400;600;700;900&family=Barlow:wght@300;400;500;600&display=swap');

/* ---- CURSOR ---- */
body { cursor: none; }
.kw-cursor { width:12px;height:12px;background:var(--yellow);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:difference; }
.kw-cursor-ring { width:36px;height:36px;border:1.5px solid var(--yellow);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .15s ease;mix-blend-mode:difference; }

/* ---- NAV ---- */
#site-header { position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:70px;background:rgba(10,10,10,0.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(245,200,0,0.1); }
.site-logo img { height:44px;width:auto;object-fit:contain; }
.site-logo .text-logo { font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:4px;color:var(--yellow);text-decoration:none; }
.site-logo .text-logo span { color:#fff; }
.main-nav ul { display:flex;gap:36px;list-style:none; }
.main-nav a { font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s; }
.main-nav a:hover { color:var(--yellow); }
.nav-right { display:flex;align-items:center;gap:20px; }
.live-badge { display:flex;align-items:center;gap:8px;font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;color:var(--yellow);text-transform:uppercase; }
.live-dot { width:8px;height:8px;background:#ff3333;border-radius:50%;animation:pulsered 1.2s ease-in-out infinite; }
@keyframes pulsered { 0%,100%{box-shadow:0 0 0 0 rgba(255,51,51,.7)}50%{box-shadow:0 0 0 6px rgba(255,51,51,0)} }
.hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px; }
.hamburger span { width:24px;height:2px;background:var(--yellow);display:block;transition:all .3s; }

/* ---- HERO ---- */
#hero { position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:80px;padding-top:70px; }
.hero-bg { position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 60% 50%,rgba(245,200,0,.07) 0%,transparent 70%),linear-gradient(180deg,#0A0A0A 0%,#0F0F0F 100%); }
.hero-bg::after { content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.12) 2px,rgba(0,0,0,.12) 4px);pointer-events:none; }
.hero-graffiti { position:absolute;top:40px;left:-10px;font-family:'Bebas Neue',sans-serif;font-size:clamp(100px,16vw,240px);line-height:.85;color:var(--yellow);opacity:.85;letter-spacing:-4px;z-index:1;pointer-events:none;filter:drop-shadow(0 0 60px rgba(245,200,0,.25));animation:grafIn 1.2s ease forwards;text-shadow:4px 4px 0 rgba(0,0,0,.4); }
@keyframes grafIn { from{opacity:0;transform:translateX(-30px) skewX(-5deg)}to{opacity:.85;transform:translateX(0) skewX(0)} }
.hero-photo { position:absolute;right:5%;bottom:0;height:88%;z-index:3;animation:photoIn 1.4s cubic-bezier(.22,1,.36,1) .3s both; }
.hero-photo img { height:100%;width:auto;object-fit:contain;object-position:bottom;filter:drop-shadow(0 0 60px rgba(245,200,0,.15)); }
@keyframes photoIn { from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)} }
.hero-content { position:relative;z-index:5;padding:0 60px;animation:contentIn 1s ease .5s both; }
@keyframes contentIn { from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)} }
.hero-eyebrow { font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--yellow);margin-bottom:6px;display:block; }
.hero-name { font-family:'Bebas Neue',sans-serif;font-size:clamp(50px,7vw,96px);line-height:.95;color:#fff;letter-spacing:3px; }
.hero-alias { font-family:'Bebas Neue',sans-serif;font-size:clamp(18px,2.5vw,32px);letter-spacing:6px;color:var(--yellow);margin-top:4px;display:block; }
.hero-subtitle { font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-top:8px;margin-bottom:24px; }
.hero-socials { display:flex;gap:12px;margin-bottom:32px; }
.social-icon { width:34px;height:34px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--muted);cursor:pointer;transition:all .2s;text-decoration:none; }
.social-icon svg { width:14px;height:14px;fill:currentColor; }
.social-icon:hover { border-color:var(--yellow);color:var(--yellow);background:rgba(245,200,0,.08); }
.hero-ctas { display:flex;gap:12px;flex-wrap:wrap; }

/* ---- BUTTONS ---- */
.btn-primary { display:inline-flex;align-items:center;gap:10px;background:var(--yellow);color:#000;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase;padding:14px 30px;border:none;cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));text-decoration:none;transition:all .2s; }
.btn-primary:hover { background:#fff;transform:translateY(-2px);box-shadow:0 10px 30px rgba(245,200,0,.3); }
.btn-outline { display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--yellow);font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;letter-spacing:3px;text-transform:uppercase;padding:13px 28px;border:1.5px solid var(--yellow);cursor:pointer;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));text-decoration:none;transition:all .2s; }
.btn-outline:hover { background:rgba(245,200,0,.1); }

/* ---- STATS BAR ---- */
.stats-bar { position:relative;z-index:6;background:var(--dark);border-top:1px solid rgba(245,200,0,.15);padding:0 60px;display:grid;grid-template-columns:repeat(3,1fr); }
.stat-item { padding:26px 0;border-right:1px solid rgba(255,255,255,.06); }
.stat-item:last-child { border-right:none;padding-left:40px; }
.stat-item.featured { background:rgba(245,200,0,.06);padding-left:40px;border-left:2px solid var(--yellow); }
.stat-label { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-bottom:6px; }
.stat-value { font-family:'Bebas Neue',sans-serif;font-size:48px;line-height:1;color:#fff;letter-spacing:2px; }
.stat-item.featured .stat-value { color:var(--yellow); }
.stats-sub { display:flex;align-items:center;gap:30px;padding:12px 60px;background:#0D0D0D;border-top:1px solid rgba(255,255,255,.04);flex-wrap:wrap; }
.stats-sub-item { font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--muted); }
.stats-sub-item span { color:#ccc;font-weight:700; }

/* ---- SECTION COMMONS ---- */
.section-eyebrow { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--yellow);margin-bottom:8px; }
.section-title { font-family:'Bebas Neue',sans-serif;font-size:48px;letter-spacing:3px;color:#fff;position:relative;display:inline-block; }
.section-title::after { content:'';position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:var(--yellow); }
.section-header { display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:44px; }
.view-all { font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:2px;transition:all .2s;margin-top:14px; }
.view-all:hover { color:var(--yellow);border-color:var(--yellow); }

/* ---- SHOWS ---- */
#shows { padding:100px 60px;background:var(--bg); }
.shows-grid { display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.04); }
.show-row { display:grid;grid-template-columns:110px 1fr 1fr auto;align-items:center;gap:24px;padding:22px 28px;background:var(--card);transition:all .2s;cursor:pointer;position:relative;overflow:hidden; }
.show-row::before { content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--yellow);transition:width .3s ease; }
.show-row:hover::before { width:3px; }
.show-row:hover { background:rgba(245,200,0,.04); }
.show-row.featured { border-left:3px solid var(--yellow); }
.show-date-box { text-align:center;border:1px solid rgba(255,255,255,.08);padding:10px;background:rgba(255,255,255,.02); }
.show-month { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--yellow); }
.show-day { font-family:'Bebas Neue',sans-serif;font-size:38px;line-height:1;color:#fff; }
.show-venue { font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:2px;color:#fff; }
.show-city { font-family:'Barlow',sans-serif;font-size:12px;color:var(--muted);margin-top:2px; }
.show-time { font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:600;letter-spacing:2px;color:var(--muted); }
.show-ticket-btn { background:transparent;color:var(--yellow);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;border:1px solid var(--yellow);padding:10px 20px;cursor:pointer;transition:all .2s;white-space:nowrap;text-decoration:none; }
.show-ticket-btn:hover,.show-row.featured .show-ticket-btn { background:var(--yellow);color:#000; }

/* ---- ABOUT ---- */
#about { padding:100px 60px;background:var(--dark);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.about-bio { font-family:'Barlow',sans-serif;font-size:15px;line-height:1.85;color:#999;margin-top:20px; }
.about-bio strong { color:#ddd; }
.about-bio em { color:var(--yellow);font-style:normal; }
.about-photo-wrap { position:relative; }
.about-photo-wrap img { width:100%;height:500px;object-fit:cover;object-position:top;filter:grayscale(20%); }
.about-photo-wrap::before { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(245,200,0,.1) 0%,transparent 60%);z-index:1;pointer-events:none; }
.about-photo-wrap::after { content:'THE KING OF LITUATION';position:absolute;bottom:-10px;right:-10px;font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:4px;color:var(--yellow);background:var(--bg);padding:6px 14px;z-index:2; }
.genres-list { display:flex;flex-wrap:wrap;gap:8px;margin-top:24px; }
.genre-tag { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--yellow);border:1px solid rgba(245,200,0,.3);padding:6px 14px;background:rgba(245,200,0,.04);transition:all .2s;cursor:default; }
.about-stats { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06); }
.astat { border-left:2px solid var(--yellow);padding-left:14px; }
.astat-num { font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--yellow);line-height:1; }
.astat-label { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--muted); }

/* ---- GALLERY / MEDIA ---- */
#media { padding:100px 60px;background:var(--bg); }
.gallery-grid { display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:3px; }
.gallery-item { position:relative;overflow:hidden;cursor:pointer; }
.gallery-item img { width:100%;height:100%;object-fit:cover;transition:transform .4s ease; }
.gallery-item:hover img { transform:scale(1.05); }
.gallery-item.large { grid-row:1/3;height:500px; }
.gallery-item:not(.large) { height:247px; }
.gallery-overlay { position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7) 0%,transparent 50%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:20px; }
.gallery-item:hover .gallery-overlay { opacity:1; }
.gallery-overlay-text { font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--yellow); }

/* ---- BOOKING / CONTACT ---- */
#booking { padding:100px 60px;background:var(--dark); }
.booking-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
.booking-info { }
.booking-detail { display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.06); }
.booking-detail-icon { width:40px;height:40px;background:rgba(245,200,0,.1);border:1px solid rgba(245,200,0,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.booking-detail-icon svg { width:16px;height:16px;fill:var(--yellow); }
.booking-detail-label { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--muted); }
.booking-detail-value { font-family:'Barlow',sans-serif;font-size:14px;color:#fff;margin-top:2px; }
.booking-detail-value a { color:var(--yellow);text-decoration:none; }
.contact-form { }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px; }
.form-group { display:flex;flex-direction:column;margin-bottom:14px; }
.form-group label { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:8px; }
.form-group input,
.form-group select,
.form-group textarea { background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:14px 18px;font-family:'Barlow',sans-serif;font-size:14px;color:#fff;outline:none;transition:border-color .2s;width:100%; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--yellow); }
.form-group select option { background:var(--dark); }
.form-group textarea { resize:vertical;min-height:120px; }
.form-submit { width:100%;margin-top:6px; }

/* ---- BLOG ---- */
#blog { padding:100px 60px;background:var(--bg); }
.blog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px; }
.blog-card { background:var(--card);cursor:pointer;transition:all .2s;text-decoration:none;display:block; }
.blog-card:hover { background:rgba(245,200,0,.04); }
.blog-thumb { height:200px;background:var(--mid);overflow:hidden;position:relative; }
.blog-thumb img { width:100%;height:100%;object-fit:cover;transition:transform .4s; }
.blog-card:hover .blog-thumb img { transform:scale(1.05); }
.blog-thumb-placeholder { width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:40px;color:rgba(255,255,255,.06);letter-spacing:2px; }
.blog-cat { position:absolute;top:14px;left:14px;font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#000;background:var(--yellow);padding:4px 10px; }
.blog-body { padding:24px; }
.blog-date { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:8px; }
.blog-title { font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:1px;color:#fff;line-height:1.2; }
.blog-excerpt { font-family:'Barlow',sans-serif;font-size:12px;line-height:1.7;color:var(--muted);margin-top:10px; }

/* ---- NEWSLETTER ---- */
.newsletter-bar { padding:60px;background:var(--yellow);display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;position:relative;overflow:hidden; }
.newsletter-bar::before { content:'LITUATION';position:absolute;right:-20px;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',sans-serif;font-size:160px;color:rgba(0,0,0,.07);pointer-events:none;white-space:nowrap;letter-spacing:-4px; }
.newsletter-title { font-family:'Bebas Neue',sans-serif;font-size:44px;color:#000;letter-spacing:3px;line-height:1; }
.newsletter-sub { font-family:'Barlow',sans-serif;font-size:13px;color:rgba(0,0,0,.6);margin-top:4px; }
.newsletter-form-wrap { display:flex;position:relative;z-index:1; }
.newsletter-form-wrap input[type="email"] { background:rgba(0,0,0,.15);border:2px solid rgba(0,0,0,.2);border-right:none;padding:16px 22px;font-family:'Barlow',sans-serif;font-size:14px;color:#000;width:280px;outline:none; }
.newsletter-form-wrap input::placeholder { color:rgba(0,0,0,.4); }
.newsletter-form-wrap button { background:#000;color:var(--yellow);font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:800;letter-spacing:3px;text-transform:uppercase;padding:16px 26px;border:none;cursor:pointer;transition:background .2s; }
.newsletter-form-wrap button:hover { background:#1a1a1a; }

/* ---- SIDE SOCIALS ---- */
.side-socials { position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;gap:1px; }
.side-social { width:44px;height:44px;background:rgba(20,20,20,.95);border-left:2px solid transparent;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:all .2s;text-decoration:none; }
.side-social svg { width:15px;height:15px;fill:currentColor; }
.side-social:hover { background:var(--yellow);color:#000;border-left-color:transparent; }
.side-social:hover svg { fill:#000; }

/* ---- AUDIO PLAYER ---- */
.kw-player { position:fixed;bottom:0;left:0;right:0;z-index:500;height:64px;background:rgba(12,12,12,.97);backdrop-filter:blur(20px);border-top:1px solid rgba(245,200,0,.2);display:flex;align-items:center;padding:0 36px;gap:20px; }
.kw-player-track { display:flex;align-items:center;gap:12px;min-width:200px; }
.kw-player-thumb { width:40px;height:40px;overflow:hidden;flex-shrink:0;background:var(--mid); }
.kw-player-thumb img { width:100%;height:100%;object-fit:cover; }
.kw-player-title { font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;color:#fff; }
.kw-player-artist { font-family:'Barlow',sans-serif;font-size:11px;color:var(--muted); }
.kw-player-controls { display:flex;align-items:center;gap:18px;margin:0 auto; }
.kw-ctrl { width:32px;height:32px;background:none;border:none;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:color .2s; }
.kw-ctrl:hover { color:var(--yellow); }
.kw-ctrl svg { width:16px;height:16px;fill:currentColor; }
.kw-ctrl.play { width:44px;height:44px;background:var(--yellow);border-radius:50%;color:#000; }
.kw-ctrl.play:hover { background:#fff;transform:scale(1.05); }
.kw-ctrl.play svg { fill:#000; }
.kw-progress { flex:1;height:3px;background:rgba(255,255,255,.1);cursor:pointer;border-radius:2px;overflow:hidden;min-width:100px; }
.kw-progress-fill { height:100%;width:0%;background:var(--yellow);border-radius:2px;transition:width .1s linear; }
.kw-time { font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:1px;white-space:nowrap; }
.kw-vol { display:flex;align-items:center;gap:8px;min-width:90px; }
.kw-vol svg { width:14px;height:14px;fill:var(--muted); }
.kw-vol-bar { flex:1;height:3px;background:rgba(255,255,255,.1);border-radius:2px; }
.kw-vol-fill { height:100%;width:75%;background:rgba(255,255,255,.35);border-radius:2px; }

/* ---- FOOTER ---- */
#site-footer { background:#050505;padding:60px;border-top:1px solid rgba(245,200,0,.1); }
.footer-top { display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px; }
.footer-logo { margin-bottom:14px; }
.footer-logo img { height:50px;width:auto; }
.footer-logo .text-logo { font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:4px;color:var(--yellow); }
.footer-logo .text-logo span { color:#fff; }
.footer-desc { font-family:'Barlow',sans-serif;font-size:12px;line-height:1.7;color:var(--muted);max-width:220px; }
.footer-col-title { font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--yellow);margin-bottom:18px; }
.footer-links { list-style:none;display:flex;flex-direction:column;gap:10px; }
.footer-links a { font-family:'Barlow',sans-serif;font-size:13px;color:var(--muted);text-decoration:none;transition:color .2s; }
.footer-links a:hover { color:var(--yellow); }
.footer-bottom { display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.04);padding-top:24px; }
.footer-copy { font-family:'Barlow',sans-serif;font-size:11px;color:rgba(255,255,255,.2); }
.footer-socials { display:flex;gap:10px; }

/* ---- SCROLL REVEAL ---- */
.reveal { opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }

/* ---- RESPONSIVE ---- */
@media (max-width:1024px) {
  #about { grid-template-columns:1fr; }
  .booking-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr 1fr; }
  .gallery-item.large { grid-row:auto;height:300px; }
  .gallery-item:not(.large) { height:200px; }
  .footer-top { grid-template-columns:1fr 1fr; }
  .blog-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  #site-header { padding:0 20px; }
  .main-nav { display:none; }
  .hamburger { display:flex; }
  .main-nav.open { display:flex;position:fixed;top:70px;left:0;right:0;background:rgba(10,10,10,.98);padding:30px 20px;flex-direction:column; }
  .main-nav.open ul { flex-direction:column;gap:20px; }
  .hero-graffiti { font-size:80px; }
  .hero-content { padding:0 20px; }
  .hero-photo { height:60%;opacity:.4; }
  #hero { padding-bottom:60px; }
  .stats-bar { padding:0 20px; }
  .stats-sub { padding:12px 20px;gap:16px; }
  #shows,.newsletter-bar,#media,#booking,#blog { padding:60px 20px; }
  #about { padding:60px 20px; }
  .show-row { grid-template-columns:80px 1fr;gap:14px; }
  .show-time,.show-ticket-btn { grid-column:2; }
  .show-ticket-btn { justify-self:start; }
  .gallery-grid { grid-template-columns:1fr; }
  .gallery-item.large,.gallery-item:not(.large) { height:250px; }
  .newsletter-bar { grid-template-columns:1fr;gap:24px; }
  .newsletter-form-wrap { flex-direction:column; }
  .newsletter-form-wrap input { width:100%; }
  .footer-top { grid-template-columns:1fr; }
  #site-footer { padding:40px 20px; }
  .kw-player { padding:0 14px;gap:12px; }
  .kw-vol { display:none; }
  .blog-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .side-socials { display:none; }
}

/* ---- WORDPRESS CORE ---- */
.wp-caption { max-width:100%; }
.alignleft { float:left;margin:0 20px 20px 0; }
.alignright { float:right;margin:0 0 20px 20px; }
.aligncenter { display:block;margin:0 auto 20px; }
img { max-width:100%;height:auto; }
