/*
Theme Name: Mad Sox Official
Theme URI: https://www.madsox.ch/
Author: Mad Sox
Description: Custom WordPress theme for Mad Sox – Swiss Crossover Since 1992.
Version: 1.9.3.2
Text Domain: madsox
*/
:root{--bg:#080808;--bg2:#111;--panel:#151515;--text:#f3f0ea;--muted:#a8a39d;--red:#c92525;--line:#2a2a2a;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.wrap{width:min(var(--max),calc(100% - 42px));margin:auto}.eyebrow{font-size:.76rem;letter-spacing:.28em;text-transform:uppercase;color:var(--red);font-weight:800}.section{padding:96px 0;border-top:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-title{margin:0;font-size:clamp(2.5rem,7vw,6rem);line-height:.9;letter-spacing:-.045em;text-transform:uppercase;font-weight:950}.section-copy{max-width:650px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid #4a4a4a;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:800;transition:.2s}.btn:hover{border-color:var(--red);background:var(--red)}.btn.primary{background:var(--red);border-color:var(--red)}.btn.primary:hover{background:#a71919}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:linear-gradient(#080808f4,#080808c8,transparent);padding:16px 0}.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:62px;height:62px;object-fit:cover;border-radius:50%;filter:grayscale(1) contrast(1.15)}.brand-word{font-weight:950;letter-spacing:-.04em;font-size:1.35rem}.site-nav ul{display:flex;list-style:none;gap:24px;margin:0;padding:0}.site-nav a{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.site-nav a:hover{color:var(--red)}.menu-toggle{display:none;background:none;color:white;border:1px solid #444;padding:9px 12px}.hero{min-height:100svh;display:flex;align-items:end;position:relative;background:url('assets/images/hero-band.jpg') center 24%/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050505e8 0%,#0505059a 45%,#05050544 75%),linear-gradient(0deg,#080808 0%,transparent 45%)}.hero-content{position:relative;z-index:2;padding:190px 0 82px}.hero h1{font-size:clamp(5rem,17vw,13rem);line-height:.72;margin:14px 0 26px;letter-spacing:-.075em;text-transform:uppercase;font-weight:1000}.hero h1 span{display:block;color:transparent;-webkit-text-stroke:1px #ffffffa8}.hero-tagline{font-size:clamp(1rem,2vw,1.35rem);text-transform:uppercase;letter-spacing:.14em;font-weight:800;max-width:760px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.shows-grid{display:grid;gap:12px}.show-card{display:grid;grid-template-columns:120px 1fr auto;gap:28px;align-items:center;padding:22px;border:1px solid var(--line);background:linear-gradient(90deg,#151515,#0d0d0d)}.show-date{text-align:center;border-right:1px solid var(--line);padding-right:20px}.show-date .day{font-size:2.8rem;line-height:.9;font-weight:950}.show-date .month{color:var(--red);font-size:.72rem;letter-spacing:.18em;font-weight:900}.show-title{font-size:1.45rem;font-weight:900;text-transform:uppercase;margin-bottom:4px}.show-meta{color:var(--muted)}.status{display:inline-block;margin-left:8px;padding:4px 7px;border:1px solid #444;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}.status.soldout,.status.cancelled{border-color:var(--red);color:#ff6969}.music-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.music-card{background:radial-gradient(circle at 20% 20%,#282828,#101010 55%);border:1px solid var(--line);padding:42px}.music-card h3{font-size:clamp(2.5rem,5vw,5rem);line-height:.9;margin:10px 0 20px;text-transform:uppercase}.platforms{display:flex;gap:10px;flex-wrap:wrap}.spotify{width:100%;min-height:410px;border:0}.band-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}.band-photo{filter:grayscale(1);border:1px solid #282828}.band-copy p{color:#c2beb8}.band-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:30px}.stat{padding:22px 12px 0 0}.stat strong{font-size:2rem;display:block}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:7px}.gallery a{overflow:hidden;background:#111}.gallery a:nth-child(1),.gallery a:nth-child(6){grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:.35s}.gallery a:hover img{filter:grayscale(0) contrast(1);transform:scale(1.025)}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.video-wrap{aspect-ratio:16/9;border:1px solid var(--line);background:#000}.video-wrap iframe{width:100%;height:100%;border:0}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-card{border:1px solid var(--line);background:#111;padding:26px;min-height:240px;display:flex;flex-direction:column}.news-card time{font-size:.7rem;letter-spacing:.15em;color:var(--red);text-transform:uppercase}.news-card h3{font-size:1.5rem;line-height:1.08;text-transform:uppercase;margin:14px 0}.news-card p{color:var(--muted)}.news-card .more{margin-top:auto;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.epk-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.epk-panel{background:#111;border:1px solid var(--line);padding:34px}.download-list{display:grid;gap:9px}.download{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-weight:800;text-transform:uppercase;font-size:.82rem;letter-spacing:.06em}.download span:last-child{color:var(--red)}.contact-lines{color:#c0bbb4}.socials{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.footer{padding:52px 0 30px;border-top:1px solid var(--line);background:#050505}.footer-row{display:flex;justify-content:space-between;gap:30px;align-items:end}.footer small{color:#777}.archive-hero{padding:170px 0 60px}.concert-year{font-size:3rem;margin:55px 0 18px;border-bottom:1px solid var(--line);padding-bottom:9px}.prose{max-width:820px;margin:auto;padding:160px 0 90px}.prose h1{font-size:clamp(3rem,8vw,6rem);line-height:.9;text-transform:uppercase}.prose img{margin:28px 0}.prose a{color:#ff6a6a}.legacy-history{margin-top:60px;padding:30px;background:#111;border:1px solid var(--line)}
@media(max-width:900px){.site-nav{display:none}.site-nav.open{display:block;position:absolute;top:82px;left:20px;right:20px;background:#101010;border:1px solid #333;padding:20px}.site-nav.open ul{flex-direction:column}.menu-toggle{display:block}.show-card{grid-template-columns:90px 1fr}.show-card>.btn{grid-column:1/-1}.music-grid,.band-grid,.epk-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}.news-grid{grid-template-columns:1fr}.section{padding:70px 0}.footer-row{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.wrap{width:min(100% - 28px,var(--max))}.hero h1{font-size:20vw}.brand-word{display:none}.show-card{grid-template-columns:72px 1fr;gap:15px;padding:16px}.show-date .day{font-size:2rem}.gallery{grid-auto-rows:145px}.gallery a:nth-child(1),.gallery a:nth-child(6){grid-column:span 2;grid-row:span 1}.band-stats{grid-template-columns:1fr}.section-head{display:block}.section-copy{margin-top:14px}}

/* v1.1 concert archive */
.past-intro{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-top:78px;margin-bottom:12px}.past-intro h2{margin:0;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.9;text-transform:uppercase}.past-count{color:var(--muted);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.legacy-history h2{font-size:clamp(2rem,4vw,4rem);line-height:.95;text-transform:uppercase;margin:10px 0 16px}.legacy-history>p{color:var(--muted);max-width:850px}.legacy-list{columns:2;column-gap:46px;margin:28px 0 0;padding:0;list-style:none}.legacy-list li{break-inside:avoid;padding:10px 0;border-bottom:1px solid var(--line);color:#d6d2cc}.legacy-list li:before{content:'→';color:var(--red);margin-right:10px}.show-card.cancelled{opacity:.72}.show-card.cancelled .show-title{text-decoration:line-through;text-decoration-thickness:1px}.archive-section-label{margin-top:70px}.archive-empty{padding:24px;border:1px solid var(--line);background:#111;color:var(--muted)}@media(max-width:700px){.legacy-list{columns:1}.past-intro{display:block}.past-count{margin-top:10px}}



/* v1.5: v1.3 visual language retained; only logo scale and hero photo clearance refined */
.brand img{width:78px;height:78px}
.hero{background-position:center 20%}
@media(max-width:900px){.brand img{width:68px;height:68px}.hero{background-position:58% 18%}}
@media(max-width:560px){.brand img{width:60px;height:60px}.hero{background-position:58% 16%}}

/* v1.6: show the complete band photo in the hero without cropping */
.hero{
  min-height:100svh;
  background-color:#080808;
  background-image:url('assets/images/hero-band.jpg');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center top;
}
.hero:before{
  background:linear-gradient(0deg,#080808 0%,rgba(8,8,8,.84) 13%,rgba(8,8,8,.18) 40%,rgba(8,8,8,.05) 72%,rgba(8,8,8,.18) 100%);
}
.hero-content{
  padding-top:min(72vw,820px);
  padding-bottom:72px;
}
@media(max-width:900px){
  .hero{background-position:center 92px;background-size:100% auto;}
  .hero-content{padding-top:calc(92px + 66vw);}
}
@media(max-width:560px){
  .hero{background-position:center 82px;}
  .hero-content{padding-top:calc(82px + 66vw);padding-bottom:54px;}
}

/* v1.7: move the MAD SOX hero title upward onto the lower-middle of the full band photo */
.hero-content{transform:translateY(-120px)}
@media(max-width:900px){.hero-content{transform:translateY(-85px)}}
@media(max-width:560px){.hero-content{transform:translateY(-52px)}}

/* v1.9: keep the v1.7 hero visual exactly; admin settings change content only. */

@media(max-width:900px){.video-grid{grid-template-columns:1fr}}
