/*
Theme Name: Descendants of Miners
Theme URI: https://example.com/descendants-of-miners
Author: Beerten Patrick - Descendants of Miners
Description: Een robuust, responsive WordPress-theme voor motorclub Descendants of Miners.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: descendants-of-miners
*/

:root{--coal:#0d0e0e;--black:#070808;--iron:#181a1a;--steel:#282b2b;--ash:#d7d1c5;--paper:#f0eadf;--rust:#bd5b2a;--copper:#d88442;--line:#393b39;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--coal);color:var(--ash);font-family:Arial,Helvetica,sans-serif;line-height:1.65}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:repeating-linear-gradient(90deg,transparent 0 47px,rgba(255,255,255,.05) 48px),repeating-linear-gradient(0deg,transparent 0 47px,rgba(255,255,255,.04) 48px);z-index:-1}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--copper);font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:2px;background:var(--rust)}h1,h2,h3,.brand-name{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;letter-spacing:.04em;line-height:.98}h1{font-size:clamp(3.7rem,10vw,8.8rem);margin:.18em 0}h2{font-size:clamp(2.6rem,6vw,5.4rem);margin:.2em 0 .55em;color:var(--paper)}h3{font-size:1.55rem;color:var(--paper);margin:.5em 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;background:var(--rust);border:1px solid var(--rust);color:#fff;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:.2s}.button:hover,.button:focus-visible{background:var(--copper);transform:translateY(-2px)}.button.ghost{background:transparent;border-color:#76766f}.button.ghost:hover{border-color:var(--copper);color:var(--copper);background:transparent}
.site-header{position:sticky;top:0;z-index:20;background:rgba(7,8,8,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.custom-logo{max-height:58px;width:auto}.brand-mark{width:50px;height:50px;display:grid;place-items:center;border:2px solid var(--rust);transform:rotate(45deg);font-family:Impact;font-size:1.3rem;color:var(--copper)}.brand-mark span{transform:rotate(-45deg)}.brand-name{font-size:1.28rem;color:var(--paper)}.brand-name small{display:block;color:#898b87;font:700 .62rem Arial;letter-spacing:.23em;margin-top:4px}.main-nav ul{display:flex;gap:28px;list-style:none;padding:0;margin:0}.main-nav a{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.main-nav a:hover{color:var(--copper)}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;color:#fff;padding:10px 12px;font-size:1.2rem}
.hero{position:relative;min-height:calc(100vh - 84px);display:grid;align-items:center;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 42%,rgba(189,91,42,.24),transparent 26%),linear-gradient(115deg,#090a0a 20%,#141616 68%,#080909)}.hero:after{content:"D O M";position:absolute;right:-.05em;bottom:-.18em;font:22vw/.8 Impact;color:rgba(255,255,255,.025);letter-spacing:-.04em}.hero-copy{position:relative;z-index:2;max-width:900px;padding:110px 0}.hero h1 span{display:block;color:var(--rust);text-shadow:3px 3px 0 #3b1a0d}.hero-intro{max-width:650px;font-size:1.1rem;color:#aaa99f;border-left:3px solid var(--rust);padding-left:20px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.shaft{position:absolute;right:10%;top:20%;width:220px;height:220px;border:1px solid rgba(216,132,66,.25);transform:rotate(45deg)}.shaft:before,.shaft:after{content:"";position:absolute;background:rgba(216,132,66,.18)}.shaft:before{width:1px;height:160%;left:50%;top:-30%}.shaft:after{height:1px;width:160%;top:50%;left:-30%}
.manifesto{padding:90px 0;background:var(--paper);color:#30312e}.manifesto-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:start}.manifesto h2{color:#111}.lead{font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.35;font-weight:700}.values{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #c9c0b3;margin-top:50px}.value{padding:28px;border-right:1px solid #c9c0b3}.value:last-child{border:0}.value strong{display:block;font:2.7rem Impact;color:var(--rust)}
.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.section-head p{max-width:500px;color:#999}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--iron);border:1px solid var(--line);padding:28px;position:relative;transition:.25s}.card:hover{border-color:var(--rust);transform:translateY(-4px)}.card .date{display:inline-block;color:var(--copper);font-weight:800;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.card p{color:#9b9d98}.card-link{color:var(--copper);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em}.route-banner{border-block:1px solid var(--line);background:linear-gradient(100deg,#1c1d1c,#0d0e0e);padding:70px 0}.route-inner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.route-inner h2{margin-bottom:.2em}.route-inner p{max-width:700px;color:#a9aaa5}
.club-info{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-panel{min-height:350px;padding:42px;background:var(--iron);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:end}.info-panel.accent{background:var(--rust);color:white}.info-panel.accent .eyebrow,.info-panel.accent h2{color:white}.info-panel.accent .eyebrow:before{background:white}.info-panel ul{padding-left:18px}.site-footer{padding:52px 0 28px;border-top:1px solid var(--line);background:var(--black)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}.site-footer h3{font-size:1rem;letter-spacing:.12em}.site-footer ul{list-style:none;margin:0;padding:0;color:#90918d}.site-footer .copyright{margin-top:45px;padding-top:22px;border-top:1px solid var(--line);font-size:.75rem;color:#757672;display:flex;justify-content:space-between}
.content-page{padding:80px 0;min-height:70vh}.content-page article{max-width:800px}.entry-content a{text-decoration:underline;color:var(--copper)}.post-list article{padding:30px 0;border-bottom:1px solid var(--line)}.pagination{margin-top:30px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:820px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:84px;background:#080909;border-bottom:1px solid var(--line);padding:24px}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:18px}.manifesto-grid,.club-info,.footer-grid{grid-template-columns:1fr}.values{grid-template-columns:1fr}.value{border-right:0;border-bottom:1px solid #c9c0b3}.cards{grid-template-columns:1fr}.route-inner{grid-template-columns:1fr}.hero-copy{padding:80px 0}.shaft{opacity:.45}.section-head{display:block}.footer-grid{gap:18px}}
@media(max-width:480px){.wrap{width:min(calc(100% - 28px),var(--max))}.brand-name{font-size:1rem}.brand-mark{width:44px;height:44px}.hero h1{font-size:3.5rem}.section,.manifesto{padding:64px 0}}

/* Cinematische 3D-header */
.hero-3d{--rx:0deg;--ry:0deg;--mx:50%;--my:42%;min-height:clamp(650px,86vh,920px);display:block;position:relative;isolation:isolate;perspective:1100px;background:#020303;overflow:hidden}
.hero-3d:after{display:none}.hero-scene{position:absolute;inset:-4%;z-index:-2;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry)) scale(1.05);transition:transform .35s cubic-bezier(.2,.8,.2,1);will-change:transform}
.hero-depth{position:absolute;inset:0}.hero-depth-back{transform:translateZ(-70px) scale(1.09);background:radial-gradient(circle at var(--mx) var(--my),rgba(225,134,48,.2),transparent 27%),#020303}
.hero-depth-art{transform:translateZ(10px) scale(1.015);background-image:var(--hero-image);background-size:cover;background-position:center 43%;filter:contrast(1.06) saturate(.86) brightness(.78);animation:hero-breathe 9s ease-in-out infinite alternate}
.hero-depth-glow{transform:translateZ(65px);mix-blend-mode:screen;background:radial-gradient(circle at 50% 31%,rgba(255,188,80,.35) 0 1.2%,rgba(212,101,24,.12) 2.5%,transparent 8%),radial-gradient(circle at var(--mx) var(--my),rgba(231,113,36,.12),transparent 18%);animation:lamp-pulse 2.8s ease-in-out infinite}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.83),transparent 44%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.95),transparent 34%,rgba(0,0,0,.2) 75%,rgba(0,0,0,.72)),radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.7) 100%)}
.hero-content{min-height:clamp(650px,86vh,920px);display:flex;align-items:flex-end;padding-top:120px;padding-bottom:clamp(70px,10vh,110px)}
.hero-panel{width:min(610px,100%);padding:30px 32px 28px;background:linear-gradient(115deg,rgba(5,6,6,.88),rgba(5,6,6,.42));border-left:3px solid var(--copper);box-shadow:0 30px 80px rgba(0,0,0,.42);backdrop-filter:blur(4px)}
.hero-3d h1{font-size:clamp(3rem,6.5vw,6.6rem);margin:.18em 0 .22em;text-shadow:0 5px 20px #000}.hero-3d h1 span{display:block;color:var(--paper)}.hero-3d .hero-intro{margin:0;border:0;padding:0;max-width:560px;color:#c8c2b7}.hero-scroll{position:absolute;right:32px;bottom:28px;display:flex;align-items:center;gap:10px;color:#aaa;font-size:.65rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl}.hero-scroll span{width:1px;height:42px;background:linear-gradient(var(--copper),transparent)}
.hero-sparks i{position:absolute;left:calc((var(--i) * 47 + 11) * 1% / 11);bottom:-12px;width:clamp(2px,calc((var(--i) + 2) * 1px / 8),5px);aspect-ratio:1;border-radius:50%;background:#ff9d32;box-shadow:0 0 9px #f06820;opacity:0;animation:spark-rise calc(4s + (var(--i) * .17s)) linear calc(var(--i) * -.31s) infinite}
@keyframes hero-breathe{to{transform:translateZ(10px) scale(1.045)}}
@keyframes lamp-pulse{50%{opacity:.6;filter:brightness(1.35)}}
@keyframes spark-rise{0%{transform:translate(0,0) scale(.4);opacity:0}12%{opacity:.9}70%{opacity:.45}100%{transform:translate(calc((var(--i) - 10) * 3px),-75vh) scale(0);opacity:0}}
@media(max-width:820px){.hero-3d,.hero-content{min-height:700px}.hero-depth-art{background-position:56% center}.hero-vignette{background:linear-gradient(0deg,rgba(0,0,0,.96),transparent 60%,rgba(0,0,0,.55)),radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.55))}.hero-panel{width:100%;padding:24px;background:rgba(5,6,6,.76)}.hero-scroll{display:none}}
@media(max-width:480px){.hero-3d,.hero-content{min-height:620px}.hero-content{padding-top:80px;padding-bottom:34px}.hero-3d h1{font-size:2.85rem}.hero-3d .eyebrow{font-size:.62rem;letter-spacing:.13em}.hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.hero-scene,.hero-depth-art,.hero-depth-glow,.hero-sparks i{animation:none!important;transition:none!important}.hero-sparks{display:none}}

/* Headerafbeelding */
.site-header {
    position: relative;
    top: auto;
    background: var(--black);
}

.header-banner {
    width: 100%;
    overflow: hidden;
    background: #000;
    border-top: 1px solid var(--line);
}

.header-banner img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 820px) {
    .header-inner {
        min-height: 72px;
    }

    .main-nav {
        top: 72px;
        z-index: 30;
    }
}

@media (max-width: 480px) {
    .brand-name small {
        letter-spacing: .12em;
    }
}
