/*
Theme Name: Dirty Minded 2026
Theme URI: https://dirtyminded.fr/
Author: Dirty Minded
Description: A bold, responsive one-page band website for Dirty Minded.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: dirty-minded-2026
*/
:root{--bg:#08090b;--panel:#101216;--paper:#f2f0ed;--muted:#a2a4a8;--red:#e73335;--line:rgba(242,240,237,.16);--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}a:hover{color:#fff}.wrap{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:100;background:#fff;color:#000;padding:12px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - var(--max))/2));background:rgba(8,9,11,.95);position:relative;z-index:5;border-bottom:1px solid rgba(255,255,255,.07)}.brand img{display:block;width:132px;height:auto}.main-nav{display:flex;gap:34px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.16em}.main-nav a{color:#c7c7ca}.main-nav a:hover{color:var(--red)}.header-cta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;border:1px solid #555;padding:13px 17px}.header-cta span,.button span,.text-link span{color:var(--red);padding-left:8px}.hero{position:relative;min-height:680px;height:min(78vw,790px);max-height:850px;overflow:hidden;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:url('assets/live-ensemble.jpg');background-size:cover;background-position:center 43%;transform:scale(1.01)}.hero-shade{background:linear-gradient(90deg,rgba(5,6,8,.94) 0%,rgba(5,6,8,.76) 32%,rgba(5,6,8,.08) 78%),linear-gradient(0deg,rgba(8,9,11,.85),transparent 27%)}.hero-copy{position:relative;z-index:1;padding-top:8px}.eyebrow{margin:0 0 20px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#c9c8c8}.eyebrow-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:8px;box-shadow:0 0 14px var(--red)}h1,h2,p{margin-top:0}.hero h1{font-size:clamp(78px,12.2vw,170px);line-height:.78;letter-spacing:-.085em;margin:0 0 25px;font-weight:950}.hero h1 span{color:transparent;-webkit-text-stroke:1.5px var(--paper)}.hero-line{font-size:clamp(17px,2vw,23px);line-height:1.35;font-weight:700;letter-spacing:.01em}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:900}.button-red{background:var(--red);color:#fff}.button-red:hover{background:#ff4649;color:#fff}.text-link{font-size:12px;font-weight:800}.hero-index,.hero-scroll{position:absolute;z-index:1;bottom:28px;font-size:9px;font-weight:800;letter-spacing:.16em;color:#aaa}.hero-index{right:32px}.hero-index span{color:var(--red);padding:0 7px}.hero-scroll{left:max(32px,calc((100vw - var(--max))/2))}.hero-scroll span{color:var(--red);padding-left:12px}.section{padding:112px 0}.release-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9vw}.red-text{color:var(--red)}.eyebrow-rule{display:inline-block;width:46px;height:1px;background:var(--red);vertical-align:middle;margin-left:12px}.release h2{font-size:clamp(64px,9vw,124px);line-height:.85;letter-spacing:-.075em;margin-bottom:13px}.release-meta{font-size:10px;letter-spacing:.2em;color:var(--muted);font-weight:800}.body-copy{color:#c7c6c5;line-height:1.8;max-width:510px;font-size:15px}.button-outline{border:1px solid #666;margin-top:18px}.button-outline:hover{border-color:var(--red)}.release-art{height:420px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#601d24 0%,#291114 28%,#101114 65%,#090a0c 100%);border:1px solid rgba(255,255,255,.08);overflow:hidden;position:relative}.release-art:before,.release-art:after{content:"";position:absolute;width:160%;height:1px;background:rgba(231,51,53,.35);transform:rotate(-36deg)}.release-art:after{transform:rotate(36deg)}.art-frame{position:relative;z-index:1;width:68%;aspect-ratio:1;border:1px solid rgba(255,255,255,.34);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-5deg);background:linear-gradient(140deg,rgba(0,0,0,.7),rgba(89,18,26,.58));box-shadow:20px 20px 60px #000}.art-frame strong{font-size:clamp(120px,20vw,250px);line-height:.8;color:transparent;-webkit-text-stroke:2px var(--paper);letter-spacing:-.1em}.art-top,.art-bottom{font-size:9px;letter-spacing:.25em;font-weight:900}.art-top{position:absolute;top:20px}.art-bottom{position:absolute;bottom:20px}.video-band{background:#101114;padding:85px 0 100px}.video-band-inner{display:flex;align-items:end;justify-content:space-between;margin-bottom:33px}.video-band h2{font-size:clamp(36px,6vw,75px);line-height:.9;letter-spacing:-.06em;margin:0}.video-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.video-card{min-height:250px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:23px;background-image:linear-gradient(0deg,rgba(0,0,0,.9),rgba(12,13,15,.08)),url('assets/live-vocal-blue.jpg');background-size:cover;background-position:center 35%;border:1px solid var(--line);position:relative;overflow:hidden}.video-card:before{content:"DM";position:absolute;right:-12px;top:-35px;font-size:150px;font-weight:900;letter-spacing:-.1em;color:rgba(255,255,255,.045);transform:rotate(-8deg)}.video-card-alt{background-image:linear-gradient(0deg,rgba(0,0,0,.88),rgba(12,13,15,.08)),url('assets/live-guitar-red.jpg');background-position:center 35%}.video-card-third{background-image:linear-gradient(0deg,rgba(0,0,0,.88),rgba(12,13,15,.08)),url('assets/live-drums.jpg');background-position:center 38%}.play{position:absolute;left:24px;top:24px;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;border-radius:50%;font-size:12px;padding-left:3px}.video-title{font-size:28px;font-weight:900;letter-spacing:-.04em;position:relative}.video-tag{font-size:9px;letter-spacing:.15em;color:#b5b5b5;margin-top:5px;position:relative}.band-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw}.band-photo{min-height:485px;background-image:linear-gradient(0deg,rgba(8,9,11,.14),rgba(8,9,11,.14)),url('assets/group-press.jpg');background-position:center 44%;background-size:cover;filter:saturate(.72);position:relative}.band-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,9,11,.35)),linear-gradient(90deg,rgba(8,9,11,.08),rgba(8,9,11,.26))}.band h2,.live h2,.contact h2{font-size:clamp(40px,6vw,75px);line-height:.92;letter-spacing:-.07em;margin:0 0 26px}.band h2 span,.contact h2 span{color:transparent;-webkit-text-stroke:1px var(--paper)}.muted{color:#777}.live{background:#111216;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.live-note{border-left:2px solid var(--red);padding:12px 0 12px 24px}.live-note p{font-size:18px;font-weight:700}.live-note a{font-size:12px;color:#aaa}.live-status{display:block;width:9px;height:9px;background:var(--red);border-radius:50%;margin-bottom:18px;box-shadow:0 0 16px var(--red)}.contact{padding:105px 0;background:var(--red);position:relative;overflow:hidden}.contact .eyebrow{color:#fff}.contact h2{font-size:clamp(52px,8vw,104px);margin-bottom:32px}.contact h2 span{-webkit-text-stroke-color:#fff}.button-light{background:var(--paper);color:#09090a}.button-light:hover{background:#fff;color:#000}.button-light span{color:var(--red)}.contact-stamp{position:absolute;right:10%;top:50%;transform:translateY(-50%) rotate(-12deg);font-size:clamp(50px,9vw,120px);line-height:.72;font-weight:950;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.25)}.site-footer{min-height:180px;padding:44px max(32px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center;background:#050607}.footer-brand img{width:160px}.site-footer p{color:#777;font-size:11px;margin:0}.footer-social{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.footer-social a{color:#b7b7b7}.site-footer small{font-size:10px;color:#666;text-align:right}.fallback{padding:90px 0}.fallback h1{font-size:52px}
@media(max-width:850px){.site-header{height:76px;padding-inline:22px}.brand img{width:118px}.main-nav{gap:16px;font-size:9px}.header-cta{display:none}.wrap{width:min(var(--max),calc(100% - 44px))}.hero{min-height:620px;height:82vh}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(5,6,8,.92),rgba(5,6,8,.42) 68%,rgba(5,6,8,.18)),linear-gradient(0deg,rgba(8,9,11,.8),transparent 35%)}.release-grid,.band-grid{gap:48px}.release-art{height:350px}.band-photo{min-height:370px}.hero-scroll{left:22px}.video-band{padding:72px 0}.video-card{min-height:200px}.section{padding:82px 0}.contact-stamp{right:4%}}
@media(max-width:600px){.site-header{padding:0 18px;height:70px}.brand img{width:108px}.main-nav{gap:12px;font-size:8px;letter-spacing:.08em}.wrap{width:calc(100% - 36px)}.hero{height:78vh;min-height:570px;max-height:700px}.hero-image{background-position:60% center}.hero h1{font-size:clamp(76px,20vw,120px)}.hero-line{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-index{right:18px}.hero-scroll{left:18px}.section{padding:68px 0}.release-grid,.band-grid,.live-grid{grid-template-columns:1fr;gap:32px}.release h2{font-size:64px}.release-art{height:300px;order:-1}.video-band-inner{align-items:flex-start;flex-direction:column;gap:22px}.video-band h2{font-size:43px}.video-cards{grid-template-columns:1fr}.video-card{min-height:170px}.band-photo{min-height:300px}.band h2,.live h2{font-size:44px}.live-grid{gap:24px}.contact{padding:76px 0}.contact h2{font-size:60px}.contact-stamp{opacity:.5;right:-1%;font-size:68px}.site-footer{padding:36px 18px;grid-template-columns:1fr;gap:19px}.site-footer small{text-align:left}}

/* Real concert photo gallery supplied by the band. */
.gallery{background:#08090b}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:34px}
.gallery-heading h2{font-size:clamp(42px,6vw,78px);line-height:.9;letter-spacing:-.07em;margin:0}
.gallery-heading .body-copy{max-width:340px;margin:0 0 4px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gallery-item{position:relative;margin:0;min-height:310px;overflow:hidden;background:#111;border:1px solid var(--line)}
.gallery-item img{display:block;width:100%;height:100%;min-height:310px;object-fit:cover;transition:transform .5s ease;filter:saturate(.82)}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.gallery-item figcaption{position:absolute;z-index:1;left:16px;bottom:15px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#eee}
@media(max-width:850px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-item img{min-height:290px}}
@media(max-width:600px){.gallery-heading{align-items:flex-start;flex-direction:column;gap:18px}.gallery-grid{gap:9px}.gallery-item,.gallery-item img{min-height:230px}.gallery-item figcaption{left:10px;bottom:10px;font-size:8px}}
