/*
Theme Name: HWING Submission
Theme URI: https://submit.h-wing.net
Author: HWING
Author URI: https://h-wing.net
Description: Music submission platform for HWING with Stripe and PayPal payments, RADAR feed, rankings, abandoned form capture, status notifications and full admin customisation.
Version: 2.0.0
Requires at least: 5.0
Tested up to: 6.5
Requires PHP: 7.4
License: Proprietary
Text Domain: hwing-submission
*/

:root {
  --brand-primary:   #c8a96e;
  --brand-secondary: #e8c97e;
  --brand-accent:    #EC1212;
  --bg-base:         #080808;
  --bg-surface:      #111111;
  --bg-card:         #161616;
  --bg-border:       #222222;
  --text-primary:    #f5f0e8;
  --text-secondary:  #999999;
  --text-muted:      #555555;
  --font-display:    'Bebas Neue', sans-serif;
  --font-body:       'DM Sans', sans-serif;
  --font-mono:       'Space Mono', monospace;
  --site-max:        1400px;
  --content-max:     1200px;
  --radius-sm:       4px;
  --radius-md:       8px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font-family:inherit}

/* ── LAYOUT ── */
.hw-wrap{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 32px}
.hw-wrap-wide{width:100%;max-width:var(--site-max);margin:0 auto;padding:0 32px}
.hw-wrap-narrow{width:100%;max-width:800px;margin:0 auto;padding:0 32px}
.hw-section{padding:100px 0}
.hw-section-sm{padding:60px 0}
.hw-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hw-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.hw-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

/* ── TYPE ── */
.hw-xl{font-family:var(--font-display);font-size:clamp(5rem,9vw,11rem);line-height:.88;letter-spacing:.01em}
.hw-lg{font-family:var(--font-display);font-size:clamp(3.5rem,6vw,6rem);line-height:.92;letter-spacing:.01em}
.hw-md{font-family:var(--font-display);font-size:clamp(2rem,3.5vw,3.5rem);line-height:.96}
.hw-sm{font-family:var(--font-display);font-size:clamp(1.4rem,2vw,2rem);line-height:1}
.hw-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brand-primary)}
.hw-outline{-webkit-text-stroke:1px var(--text-primary);color:transparent}
.hw-gold{color:var(--brand-primary)}
.hw-accent{color:var(--brand-accent)}
.hw-muted{color:var(--text-muted)}

/* ── BUTTONS ── */
.hw-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:16px 32px;border:none;cursor:pointer;transition:.2s ease;white-space:nowrap}
.hw-btn-primary{background:var(--brand-primary);color:#000}
.hw-btn-primary:hover{background:var(--brand-secondary);transform:translateY(-1px)}
.hw-btn-accent{background:var(--brand-accent);color:#fff}
.hw-btn-accent:hover{background:#e0502e;transform:translateY(-1px)}
.hw-btn-outline{background:transparent;border:1px solid #333;color:var(--text-primary)}
.hw-btn-outline:hover{border-color:var(--brand-primary);color:var(--brand-primary)}
.hw-btn-sm{padding:10px 20px;font-size:.65rem}
.hw-btn-lg{padding:20px 40px;font-size:.8rem}
.hw-btn-block{width:100%;justify-content:center}

/* ── NAV ── */
.hw-nav{position:sticky;top:0;z-index:200;background:rgba(8,8,8,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--bg-border)}
.hw-nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:var(--site-max);margin:0 auto;padding:0 32px}
.hw-nav-logo{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.12em;display:flex;align-items:center;gap:10px}
.hw-nav-logo img{height:34px;width:auto}
.hw-nav-links{display:flex;gap:32px;list-style:none}
.hw-nav-links a{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);transition:color .2s}
.hw-nav-links a:hover{color:var(--brand-primary)}
.hw-nav-actions{display:flex;gap:12px;align-items:center}
.hw-nav-hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:1.2rem;padding:4px}

/* ── HERO — full width like the PDF ── */
.hw-hero{min-height:calc(100vh - 64px);display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;max-width:var(--site-max);margin:0 auto;padding:0 32px}
.hw-hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 40%,rgba(200,169,110,.07) 0%,transparent 55%);pointer-events:none}
.hw-hero-left{padding:80px 60px 80px 0;display:flex;flex-direction:column;justify-content:center}
.hw-hero-right{display:flex;align-items:center;padding:80px 0 80px 60px;border-left:1px solid var(--bg-border)}
.hw-hero-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.hw-hero-eyebrow::before{content:'';width:40px;height:1px;background:var(--brand-primary)}
.hw-hero-sub{font-size:1.05rem;line-height:1.75;color:var(--text-secondary);max-width:460px;margin-bottom:44px}
.hw-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hw-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d44a2a;animation:hw-pulse 1.8s ease-in-out infinite}
@keyframes hw-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}

/* Stats */
.hw-stats{width:100%}
.hw-stat-row{display:flex;gap:20px;align-items:flex-start;padding:28px 0;border-bottom:1px solid var(--bg-border)}
.hw-stat-row:first-child{border-top:1px solid var(--bg-border)}
.hw-stat-num{font-family:var(--font-display);font-size:3rem;color:var(--brand-primary);line-height:1;min-width:90px}
.hw-stat-label{font-size:.9rem;font-weight:500;margin-bottom:4px}
.hw-stat-desc{font-size:.75rem;color:var(--text-secondary);line-height:1.5}

/* Ticker */
.hw-ticker-wrap{background:var(--bg-surface);border-top:1px solid var(--bg-border);border-bottom:1px solid var(--bg-border);padding:12px 0;overflow:hidden}
.hw-ticker{display:flex;white-space:nowrap;animation:hw-ticker 32s linear infinite}
.hw-ticker:hover{animation-play-state:paused}
.hw-ticker-item{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);padding:0 40px}
.hw-ticker-item span{color:var(--brand-primary);margin-right:6px}
@keyframes hw-ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* How it works */
.hw-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bg-border)}
.hw-step-card{background:var(--bg-base);padding:36px 28px;position:relative;overflow:hidden;transition:background .25s}
.hw-step-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--brand-primary),transparent);transform:scaleX(0);transition:transform .4s}
.hw-step-card:hover{background:var(--bg-surface)}
.hw-step-card:hover::after{transform:scaleX(1)}
.hw-step-num{font-family:var(--font-display);font-size:4.5rem;color:#1c1c1c;line-height:1;margin-bottom:16px;transition:color .25s}
.hw-step-card:hover .hw-step-num{color:#242424}
.hw-step-icon{font-size:1.4rem;margin-bottom:14px}
.hw-step-title{font-size:1rem;font-weight:500;margin-bottom:8px}
.hw-step-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.65}

/* ── PACKAGES — Full info like PDF ── */
.hw-pkg-section{padding:100px 0;background:var(--bg-surface);position:relative;overflow:hidden}
.hw-pkg-section::before{content:'SUBMIT';position:absolute;font-family:var(--font-display);font-size:25vw;color:transparent;-webkit-text-stroke:1px #161616;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none}
.hw-pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--bg-border);position:relative;z-index:1}
.hw-pkg-card{background:var(--bg-base);padding:36px 28px;display:flex;flex-direction:column;transition:background .25s;cursor:pointer;position:relative}
.hw-pkg-card:hover{background:#0c0c0c}
.hw-pkg-card.featured{background:#0a0a0a;border-top:2px solid var(--brand-primary)}
.hw-pkg-tag{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:14px}
.hw-pkg-name{font-family:var(--font-display);font-size:2rem;margin-bottom:6px;line-height:1}
.hw-pkg-price{font-family:var(--font-display);font-size:4.5rem;line-height:1;margin-bottom:4px}
.hw-pkg-price sup{font-size:1.8rem;vertical-align:super}
.hw-pkg-timeline{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;color:var(--text-muted);margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--bg-border)}
.hw-pkg-features{list-style:none;flex:1;margin-bottom:28px}
.hw-pkg-features li{font-size:.82rem;color:var(--text-secondary);padding:9px 0;border-bottom:1px solid #161616;display:flex;gap:10px;line-height:1.45}
.hw-pkg-features li::before{content:'→';color:var(--brand-primary);flex-shrink:0;margin-top:1px}
.hw-pkg-features li.highlight{color:var(--text-primary);font-weight:500}
.hw-pkg-btn{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;padding:14px 20px;text-align:center;border:1px solid #2a2a2a;color:var(--text-primary);background:transparent;cursor:pointer;transition:all .2s;width:100%}
.hw-pkg-btn:hover,.hw-pkg-card.featured .hw-pkg-btn{background:var(--brand-primary);border-color:var(--brand-primary);color:#000}
.hw-pkg-badge{position:absolute;top:-1px;right:28px;background:var(--brand-accent);color:#fff;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;font-weight:700;padding:5px 12px}
.hw-rush-bar{background:var(--bg-base);border-top:1px solid var(--bg-border);padding:20px 32px;display:flex;align-items:center;gap:20px;position:relative;z-index:1}
.hw-rush-label{font-family:var(--font-display);font-size:1.6rem;color:var(--brand-primary)}
.hw-rush-desc{font-size:.82rem;color:var(--text-secondary)}
.hw-rush-desc strong{color:var(--text-primary)}

/* Form stepper */
.hw-form-section{padding:100px 0}
.hw-form-wrap{max-width:820px;margin:0 auto;padding:0 32px}
.hw-steps-bar{display:flex;margin-bottom:52px}
.hw-step-bar-item{flex:1;position:relative}
.hw-step-bar-line{height:2px;background:var(--bg-border);transition:background .3s}
.hw-step-bar-item.active .hw-step-bar-line,
.hw-step-bar-item.done .hw-step-bar-line{background:var(--brand-primary)}
.hw-step-bar-dot{position:absolute;top:-5px;left:0;width:12px;height:12px;border-radius:50%;background:var(--bg-border);transition:background .3s;border:2px solid var(--bg-base)}
.hw-step-bar-item.active .hw-step-bar-dot,
.hw-step-bar-item.done .hw-step-bar-dot{background:var(--brand-primary)}
.hw-step-bar-item:last-child .hw-step-bar-dot{left:auto;right:0}
.hw-step-bar-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-top:11px}
.hw-step-bar-item.active .hw-step-bar-label,
.hw-step-bar-item.done .hw-step-bar-label{color:var(--brand-primary)}
.hw-panel{display:none}
.hw-panel.active{display:block;animation:hw-up .4s ease}
@keyframes hw-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.hw-panel-title{font-size:1.35rem;font-weight:500;margin-bottom:4px}
.hw-panel-sub{font-size:.85rem;color:var(--text-secondary);margin-bottom:36px}

/* Type chips */
.hw-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:28px}
.hw-chip{border:1px solid var(--bg-border);border-radius:var(--radius-md);padding:14px 10px;cursor:pointer;text-align:center;transition:border-color .2s,background .2s}
.hw-chip:hover{border-color:#444}
.hw-chip.selected{border:2px solid var(--brand-primary);background:rgba(200,169,110,.07)}
.hw-chip-icon{font-size:1.3rem;margin-bottom:6px}
.hw-chip-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}
.hw-chip.selected .hw-chip-label{color:var(--brand-primary)}

/* Fields */
.hw-row{display:grid;gap:16px;margin-bottom:16px}
.hw-row-2{grid-template-columns:1fr 1fr}
.hw-row-3{grid-template-columns:1fr 1fr 1fr}
.hw-field{display:flex;flex-direction:column;gap:6px}
.hw-field label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary)}
.hw-field .req{color:var(--brand-accent)}
.hw-field input,.hw-field select,.hw-field textarea{background:var(--bg-surface);border:1px solid var(--bg-border);color:var(--text-primary);padding:12px 16px;border-radius:var(--radius-sm);font-size:.9rem;transition:border-color .2s;outline:none;width:100%}
.hw-field input::placeholder,.hw-field textarea::placeholder{color:var(--text-muted)}
.hw-field input:focus,.hw-field select:focus,.hw-field textarea:focus{border-color:var(--brand-primary)}
.hw-field textarea{min-height:110px;resize:vertical}
.hw-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.hw-hint{font-size:.72rem;color:var(--text-muted)}
.hw-char-count{font-size:.7rem;color:var(--text-muted);text-align:right}
.hw-field.has-error input,.hw-field.has-error select,.hw-field.has-error textarea{border-color:#e24b4a}
.hw-err{font-size:.72rem;color:#e24b4a;display:none}
.hw-field.has-error .hw-err{display:block}

/* File drop */
.hw-drop{border:1px dashed var(--bg-border);border-radius:var(--radius-md);padding:32px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;position:relative}
.hw-drop:hover,.hw-drop.drag-over{border-color:var(--brand-primary);background:rgba(200,169,110,.04)}
.hw-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.hw-drop-icon{font-size:2rem;margin-bottom:10px}
.hw-drop-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:4px}
.hw-drop-hint{font-size:.72rem;color:var(--text-muted)}
.hw-img-preview{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.hw-img-item{position:relative;width:80px;height:80px;border-radius:var(--radius-sm);overflow:hidden}
.hw-img-item img{width:100%;height:100%;object-fit:cover}
.hw-img-rm{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.75);border:none;color:#fff;border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center}

/* Form package cards */
.hw-form-pkgs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.hw-form-pkg{border:1px solid var(--bg-border);border-radius:var(--radius-md);padding:20px;cursor:pointer;transition:border-color .2s;position:relative}
.hw-form-pkg:hover{border-color:#444}
.hw-form-pkg.selected{border:2px solid var(--brand-primary);background:rgba(200,169,110,.06)}
.hw-form-pkg-badge{position:absolute;top:-10px;left:16px;background:var(--brand-primary);color:#000;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;font-weight:700;padding:3px 10px;border-radius:20px}
.hw-form-pkg-name{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:6px}
.hw-form-pkg-price{font-family:var(--font-display);font-size:2.4rem;line-height:1;margin-bottom:4px}
.hw-form-pkg-time{font-size:.72rem;color:var(--text-muted);font-family:var(--font-mono)}

/* Rush */
.hw-rush-opts{display:flex;gap:10px;margin-bottom:24px}
.hw-rush-opt{flex:1;border:1px solid var(--bg-border);border-radius:var(--radius-md);padding:12px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:border-color .2s}
.hw-rush-opt:hover{border-color:#444}
.hw-rush-opt.selected{border:2px solid var(--brand-primary);background:rgba(200,169,110,.05)}
.hw-radio{width:14px;height:14px;border-radius:50%;border:1.5px solid #444;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}
.hw-rush-opt.selected .hw-radio{border-color:var(--brand-primary);background:var(--brand-primary)}
.hw-radio-dot{width:5px;height:5px;border-radius:50%;background:#000;display:none}
.hw-rush-opt.selected .hw-radio-dot{display:block}
.hw-rush-name{font-size:.82rem;font-weight:500}
.hw-rush-price{font-size:.72rem;color:var(--text-muted)}

/* Order summary */
.hw-summary{background:var(--bg-surface);border-radius:var(--radius-md);padding:22px;margin-bottom:24px;border:1px solid var(--bg-border)}
.hw-summary-row{display:flex;justify-content:space-between;font-size:.85rem;padding:7px 0;color:var(--text-secondary)}
.hw-summary-row .v{color:var(--text-primary)}
.hw-summary-total{border-top:1px solid var(--bg-border);margin-top:8px;padding-top:14px;display:flex;justify-content:space-between;font-size:1rem;font-weight:500}
.hw-summary-total .v{font-family:var(--font-display);font-size:2rem;color:var(--brand-primary)}

/* Pay tabs */
.hw-pay-tabs{display:flex;gap:10px;margin-bottom:20px}
.hw-pay-tab{flex:1;border:1px solid var(--bg-border);border-radius:var(--radius-md);padding:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-size:.85rem;transition:border-color .2s}
.hw-pay-tab:hover{border-color:#444}
.hw-pay-tab.selected{border:2px solid var(--brand-primary);background:rgba(200,169,110,.05)}
#hw-stripe-wrap{background:var(--bg-surface);border:1px solid var(--bg-border);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:16px;transition:border-color .2s}
#hw-stripe-wrap.focused{border-color:var(--brand-primary)}

/* Cert */
.hw-cert{display:flex;align-items:flex-start;gap:10px;margin-bottom:24px}
.hw-cert input[type=checkbox]{margin-top:3px;accent-color:var(--brand-primary);flex-shrink:0}
.hw-cert label{font-size:.82rem;color:var(--text-secondary);line-height:1.5}
.hw-cert a{color:var(--brand-primary);text-decoration:underline}
.hw-form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--bg-border)}
.hw-save-link{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;border:none;background:none;text-decoration:underline}

/* Preview card */
.hw-preview-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:24px}
.hw-preview-head{background:var(--bg-surface);padding:12px 18px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);display:flex;justify-content:space-between}
.hw-preview-body{padding:20px;display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:start}
.hw-preview-thumb{width:88px;height:88px;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-border)}
.hw-preview-artist{font-family:var(--font-display);font-size:1.5rem;color:var(--brand-primary);line-height:1;margin-bottom:4px}
.hw-preview-title{font-size:.9rem;margin-bottom:8px}
.hw-preview-tag{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;border:1px solid var(--bg-border);padding:3px 8px;color:var(--text-muted);border-radius:20px}

/* Preferred date */
.hw-date-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}

/* Abandon banner */
.hw-abandon-banner{background:var(--bg-surface);border:1px solid var(--bg-border);border-left:3px solid var(--brand-primary);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.82rem;color:var(--text-secondary)}
.hw-abandon-banner strong{color:var(--text-primary)}
.hw-abandon-banner.hidden{display:none}

/* Success */
.hw-success{display:none;text-align:center;padding:60px 20px}
.hw-success.active{display:block;animation:hw-up .5s ease}
.hw-success-check{width:72px;height:72px;border-radius:50%;background:var(--brand-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:2rem;color:#000}
.hw-success-title{font-family:var(--font-display);font-size:3rem;margin-bottom:12px}
.hw-success-sub{font-size:.95rem;color:var(--text-secondary);max-width:440px;margin:0 auto 12px;line-height:1.75}
.hw-success-ref{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);margin-bottom:32px}
.hw-success-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hw-next-steps{background:var(--bg-surface);border-radius:var(--radius-md);padding:24px;margin-top:32px;text-align:left;max-width:420px;margin-left:auto;margin-right:auto}
.hw-next-step{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--bg-border);font-size:.82rem;color:var(--text-secondary);align-items:center}
.hw-next-step:last-child{border-bottom:none}
.hw-next-step-num{font-family:var(--font-display);font-size:1.4rem;color:var(--brand-primary);flex-shrink:0;width:28px}

/* RADAR */
.hw-radar-section{padding:100px 0;background:var(--bg-surface)}
.hw-section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px}
.hw-radar-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s,transform .2s}
.hw-radar-card:hover{border-color:#444;transform:translateY(-4px)}
.hw-radar-img-wrap{position:relative}
.hw-radar-img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--bg-border);display:block}
.hw-radar-badge{position:absolute;top:10px;left:10px;background:var(--brand-accent);color:#fff;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;font-weight:700;padding:4px 10px}
.hw-radar-body{padding:18px}
.hw-radar-genre{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brand-primary);margin-bottom:6px}
.hw-radar-title{font-size:.95rem;font-weight:500;line-height:1.4;margin-bottom:6px}
.hw-radar-meta{font-size:.75rem;color:var(--text-muted)}

/* Rankings */
.hw-rank-row{display:grid;grid-template-columns:48px 56px 1fr auto;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--bg-border);transition:background .15s;cursor:pointer}
.hw-rank-row:hover{background:var(--bg-surface)}
.hw-rank-num{font-family:var(--font-display);font-size:1.4rem;color:var(--text-muted);text-align:center}
.hw-rank-num.top{color:var(--brand-primary)}
.hw-rank-art{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-border);display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.hw-rank-artist{font-weight:500;font-size:.95rem;margin-bottom:2px}
.hw-rank-track{font-size:.8rem;color:var(--text-muted);font-style:italic}
.hw-rank-score{font-family:var(--font-display);font-size:1.4rem;color:var(--brand-primary);text-align:right}
.hw-rank-score-label{font-size:.65rem;color:var(--text-muted);font-family:var(--font-mono);text-align:right}
.hw-heat-bar{width:80px;height:4px;background:var(--bg-border);border-radius:2px;margin-top:4px;overflow:hidden}
.hw-heat-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--brand-accent));border-radius:2px}
.hw-period-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.hw-period-tab{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 18px;border:1px solid var(--bg-border);border-radius:20px;cursor:pointer;color:var(--text-muted);transition:all .2s;background:transparent}
.hw-period-tab:hover{border-color:#444;color:var(--text-primary)}
.hw-period-tab.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#000}

/* CTA band */
.hw-cta-band{padding:120px 0;text-align:center;position:relative;overflow:hidden}
.hw-cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#16100600 0%,#1a1208 30%,var(--bg-base) 70%)}
.hw-cta-inner{position:relative;z-index:1}
.hw-cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px}

/* Footer */
footer.hw-footer{background:var(--bg-surface);border-top:1px solid var(--bg-border);padding:60px 0 28px}
.hw-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.hw-footer-logo{font-family:var(--font-display);font-size:1.8rem;letter-spacing:.12em;margin-bottom:14px}
.hw-footer-tagline{font-size:.82rem;color:var(--text-muted);max-width:240px;line-height:1.7}
.hw-footer-col-title{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}
.hw-footer-links{list-style:none}
.hw-footer-links li{margin-bottom:10px}
.hw-footer-links a{font-size:.82rem;color:#555;transition:color .2s}
.hw-footer-links a:hover{color:var(--brand-primary)}
.hw-footer-bottom{border-top:1px solid var(--bg-border);padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:.72rem;color:var(--text-muted);font-family:var(--font-mono)}
.hw-footer-socials{display:flex;gap:20px}
.hw-footer-socials a{color:var(--text-muted);transition:color .2s}
.hw-footer-socials a:hover{color:var(--brand-primary)}

/* Toast */
.hw-toast{position:fixed;bottom:28px;right:28px;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--radius-md);padding:14px 20px;font-size:.85rem;z-index:9999;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;pointer-events:none;display:flex;align-items:center;gap:10px;max-width:320px}
.hw-toast.show{opacity:1;transform:translateY(0)}
.hw-toast.success{border-left:3px solid #4caf50}
.hw-toast.error{border-left:3px solid #e24b4a}
.hw-toast.info{border-left:3px solid var(--brand-primary)}

/* Resume banner */
.hw-resume-bar{background:rgba(200,169,110,.1);border:1px solid rgba(200,169,110,.3);border-radius:var(--radius-md);padding:14px 20px;margin-bottom:28px;display:none;align-items:center;justify-content:space-between;gap:12px;font-size:.82rem}
.hw-resume-bar.show{display:flex}
.hw-resume-bar strong{color:var(--brand-primary)}

/* Utils */
.hw-hidden{display:none!important}
.hw-tc{text-align:center}
.hw-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.hw-reveal.visible{opacity:1;transform:translateY(0)}
.hw-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(0,0,0,.3);border-top-color:#000;border-radius:50%;animation:hw-spin .7s linear infinite}
@keyframes hw-spin{to{transform:rotate(360deg)}}
.hw-mb-8{margin-bottom:8px}
.hw-mb-16{margin-bottom:16px}
.hw-mb-24{margin-bottom:24px}
.hw-mb-40{margin-bottom:40px}
.hw-mt-24{margin-top:24px}

/* Status pill */
.hw-pill{display:inline-flex;padding:3px 10px;border-radius:20px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;font-weight:700}
.hw-pill-pending{background:rgba(212,74,42,.15);color:#d44a2a}
.hw-pill-review{background:rgba(200,169,110,.15);color:#c8a96e}
.hw-pill-published{background:rgba(76,175,80,.15);color:#4caf50}
.hw-pill-rejected{background:rgba(80,80,80,.2);color:#666}
.hw-pill-expired{background:rgba(80,80,80,.2);color:#555}

/* Responsive */
@media(max-width:1200px){.hw-hero{padding:0 24px}.hw-pkg-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1024px){.hw-grid-4{grid-template-columns:1fr 1fr}.hw-footer-grid{grid-template-columns:1fr 1fr}.hw-steps-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .hw-hero{grid-template-columns:1fr;padding:0 20px}
  .hw-hero-right{display:none}
  .hw-hero-left{padding:60px 0}
  .hw-nav-links{display:none}
  .hw-nav-hamburger{display:block}
  .hw-grid-2,.hw-grid-3{grid-template-columns:1fr}
  .hw-row-2,.hw-row-3{grid-template-columns:1fr}
  .hw-form-pkgs{grid-template-columns:1fr}
  .hw-rush-opts{flex-direction:column}
  .hw-footer-grid{grid-template-columns:1fr}
  .hw-rank-row{grid-template-columns:36px 44px 1fr}
  .hw-rank-score,.hw-rank-score-label,.hw-heat-bar{display:none}
  .hw-pkg-grid{grid-template-columns:1fr}
  .hw-date-wrap{grid-template-columns:1fr}
  .hw-wrap,.hw-wrap-wide,.hw-wrap-narrow{padding:0 16px}
}
@media(max-width:480px){.hw-chips{grid-template-columns:1fr 1fr}.hw-section{padding:60px 0}.hw-steps-grid{grid-template-columns:1fr}}
