/*
Theme Name: Birchwood Child
Template: hello-elementor
Description: Dark cinematic child theme for Birchwood Songs.
Author: Birchwood Songs
Version: 1.0.0
Text Domain: birchwood-child
*/

:root{
  --bw-bg:#0a0807;
  --bw-bg2:#110d0a;
  --bw-card:#16110d;
  --bw-amber:#e2a65a;
  --bw-amber-soft:rgba(226,166,90,.18);
  --bw-cream:#f0e6d3;
  --bw-muted:#b8a98f;
  --bw-line:rgba(240,230,211,.22);
  --bw-serif:'Cormorant Garamond',Georgia,serif;
  --bw-sans:'Jost','Helvetica Neue',Arial,sans-serif;
}

html{scroll-behavior:smooth}
body{background:var(--bw-bg);color:var(--bw-cream);font-family:var(--bw-sans);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body a{color:inherit;transition:color .3s,border-color .3s,background .3s,opacity .3s}
::selection{background:var(--bw-amber);color:#120d09}

/* theme header hidden: we use our own */
#site-header,.site-header,#masthead,header.site-header{display:none!important}

/* ---------- fixed glass header ---------- */
#bw-header{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:999;background:transparent!important;transition:background .4s,backdrop-filter .4s,box-shadow .4s}
body.admin-bar #bw-header{top:32px}
@media(max-width:782px){body.admin-bar #bw-header{top:46px}}
#bw-header.bw-scrolled{background:rgba(10,8,7,.72)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(240,230,211,.1)}
.bw-logo{font-family:var(--bw-serif);color:var(--bw-cream);text-decoration:none;display:inline-block;line-height:1;text-align:center}
.bw-logo b{display:block;font-weight:500;font-size:26px;letter-spacing:.16em}
.bw-logo span{display:block;font-size:11px;letter-spacing:.5em;margin-top:5px;padding-left:.5em;font-family:var(--bw-sans)}
.bw-hdr-right{display:flex;gap:22px;justify-content:flex-end;align-items:center;font-size:13px;letter-spacing:.04em}
.bw-hdr-right a{color:var(--bw-cream);text-decoration:none;display:inline-flex;gap:8px;align-items:center;opacity:.9}
.bw-hdr-right a:hover{color:var(--bw-amber);opacity:1}
.bw-hdr-right svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#bw-header .hfe-nav-menu a.hfe-menu-item,#bw-header .hfe-nav-menu a.hfe-sub-menu-item{color:var(--bw-cream)!important;font-size:13px;letter-spacing:.04em}
#bw-header .hfe-nav-menu a.hfe-menu-item:hover,#bw-header .hfe-nav-menu .current-menu-item>a{color:var(--bw-amber)!important}
#bw-header .hfe-nav-menu .sub-menu{background:rgba(14,10,8,.96)!important;border:1px solid var(--bw-line)}
@media(max-width:1024px){.bw-hdr-right .bw-hide-m{display:none}}

/* ---------- generic ---------- */
.bw-eyebrow{font-family:var(--bw-sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--bw-muted);margin:0 0 14px}
.bw-h2{font-family:var(--bw-serif);font-weight:400;color:var(--bw-cream);line-height:1.12;margin:0}
.bw-title{font-family:var(--bw-serif);font-weight:400;text-transform:uppercase;letter-spacing:.16em;line-height:1.05;color:var(--bw-cream);text-shadow:0 4px 40px rgba(0,0,0,.6)}
.bw-script{font-family:var(--bw-serif);font-style:italic;color:var(--bw-cream);font-size:clamp(20px,2.4vw,26px)}
.bw-btn .elementor-button,a.bw-btn,.bw-btn a{background:transparent!important;border:1px solid rgba(240,230,211,.7)!important;color:var(--bw-cream)!important;border-radius:999px;padding:15px 30px;font-family:var(--bw-sans);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .35s}
.bw-btn .elementor-button:hover,a.bw-btn:hover,.bw-btn a:hover{background:var(--bw-amber)!important;border-color:var(--bw-amber)!important;color:#140e09!important;box-shadow:0 0 34px rgba(226,166,90,.35)}
.bw-btn-sq .elementor-button{border-radius:3px}

/* photo stand-ins. Set a background image on the section in Elementor to replace them (zero specificity on purpose) */
:where(.bw-standin-hero){background-image:
  radial-gradient(ellipse 14% 12% at 60% 52%,rgba(255,186,96,.55),transparent 70%),
  radial-gradient(ellipse 9% 9% at 36% 58%,rgba(255,170,80,.45),transparent 70%),
  radial-gradient(ellipse 80% 40% at 70% 48%,rgba(224,122,66,.55),transparent 70%),
  linear-gradient(180deg,#0d1424 0%,#1d2338 24%,#4b3340 44%,#7a4a3a 54%,#1a1410 64%,#090705 100%)}
:where(.bw-standin-story){background-image:
  radial-gradient(ellipse 30% 55% at 30% 45%,rgba(226,166,90,.3),transparent 70%),
  radial-gradient(ellipse 22% 40% at 92% 30%,rgba(255,190,110,.35),transparent 70%),
  linear-gradient(100deg,#1b130d 0%,#0d0908 55%,#120c09 100%)}
:where(.bw-standin-house){background-image:
  radial-gradient(ellipse 60% 40% at 50% 80%,rgba(226,166,90,.12),transparent 70%),
  linear-gradient(180deg,#0c0908 0%,#150e0a 60%,#0b0806 100%)}
:where(.bw-standin-soon){background-image:
  radial-gradient(ellipse 40% 50% at 78% 70%,rgba(226,166,90,.22),transparent 70%),
  linear-gradient(100deg,#0c0908 0%,#16100b 60%,#0e0a07 100%)}
.bw-hero,.bw-story,.bw-house,.bw-soon{background-size:cover;background-position:center;position:relative}
.bw-hero:after,.bw-soon:after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,transparent,rgba(10,8,7,.9));pointer-events:none}
.bw-hero>.elementor-container,.bw-soon>.elementor-container{position:relative;z-index:2}

/* hero scroll hint */
.bw-scroll{position:absolute;right:28px;bottom:40px;z-index:3;font-size:9px;letter-spacing:.25em;text-transform:uppercase;text-align:center;color:var(--bw-cream);opacity:.85}
.bw-scroll i{display:block;width:20px;height:32px;border:1px solid var(--bw-cream);border-radius:12px;margin:0 auto 8px;position:relative}
.bw-scroll i:after{content:"";position:absolute;left:50%;top:6px;width:2px;height:6px;margin-left:-1px;background:var(--bw-cream);border-radius:2px;animation:bwScroll 1.8s infinite}
@keyframes bwScroll{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(10px)}}
@media(max-width:767px){.bw-scroll{display:none}}

/* watch the story */
.bw-watch{display:flex;gap:18px;align-items:flex-start}
.bw-play{flex:0 0 auto;width:52px;height:52px;border:1px solid rgba(240,230,211,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--bw-cream);text-decoration:none;transition:all .35s}
.bw-play:hover{background:var(--bw-amber);border-color:var(--bw-amber);color:#140e09;box-shadow:0 0 34px rgba(226,166,90,.4)}
.bw-play svg{width:16px;height:16px;fill:currentColor;margin-left:3px}
.bw-watch .bw-eyebrow{margin-top:6px;font-size:10px;letter-spacing:.28em}
.bw-soon-note{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--bw-muted)}
.bw-modal{position:fixed;inset:0;background:rgba(5,4,3,.92);z-index:10000;display:none;align-items:center;justify-content:center;padding:20px}
.bw-modal.bw-on{display:flex}
.bw-modal-box{position:relative;width:min(960px,100%);aspect-ratio:16/9;background:#000}
.bw-modal-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.bw-modal-x{position:absolute;top:-44px;right:0;background:none;border:0;color:var(--bw-cream);font-size:30px;cursor:pointer;line-height:1}

/* the house: doors */
.bw-house-wrap{position:relative}
.bw-doors{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;align-items:end;margin:0;padding:0;list-style:none}
.bw-door{text-align:center;padding:0 6px 8px;position:relative}
.bw-door a{display:block;text-decoration:none;color:var(--bw-cream)}
.bw-door-frame{position:relative;width:58%;max-width:92px;margin:0 auto 26px;aspect-ratio:5/8;border-radius:999px 999px 2px 2px;border:3px solid #2a1a10;border-bottom:0;background:
  linear-gradient(90deg,transparent 48%,rgba(0,0,0,.45) 50%,transparent 52%),
  linear-gradient(180deg,#7a4524 0%,#4d2a15 55%,#37200f 100%);
  box-shadow:0 0 0 2px rgba(226,166,90,.25),0 0 40px rgba(226,150,70,.14),inset 0 0 22px rgba(0,0,0,.5);transition:all .5s}
.bw-door-frame:before{content:"";position:absolute;left:14%;right:14%;top:34%;bottom:10%;border:1px solid rgba(0,0,0,.35);border-radius:3px;box-shadow:inset 0 0 8px rgba(0,0,0,.4)}
.bw-door-frame:after{content:"";position:absolute;right:14%;top:56%;width:5px;height:5px;border-radius:50%;background:var(--bw-amber);box-shadow:0 0 8px var(--bw-amber)}
.bw-door:nth-child(6) .bw-door-frame{background:linear-gradient(90deg,transparent 48%,rgba(0,0,0,.45) 50%,transparent 52%),linear-gradient(180deg,#8a2a22 0%,#58171a 55%,#3d0f12 100%)}
.bw-door:hover .bw-door-frame,.bw-door a:focus-visible .bw-door-frame{transform:translateY(-6px);box-shadow:0 0 0 2px rgba(226,166,90,.7),0 0 60px rgba(226,166,90,.45),inset 0 0 30px rgba(255,190,100,.35)}
.bw-door.bw-opening .bw-door-frame{transform:perspective(500px) rotateY(-38deg);box-shadow:0 0 70px rgba(255,200,120,.8),inset 0 0 40px rgba(255,210,140,.7)}
.bw-door svg{display:block;width:17px;height:17px;margin:0 auto 12px;fill:none;stroke:var(--bw-cream);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.bw-door h3{font-family:var(--bw-sans);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px;color:var(--bw-cream)}
.bw-door p{font-size:11px;line-height:1.5;color:var(--bw-muted);margin:0 auto 12px;max-width:130px}
.bw-door .bw-arr{font-size:14px;color:var(--bw-cream);transition:transform .3s}
.bw-door:hover .bw-arr{transform:translateX(5px);color:var(--bw-amber)}
.bw-door:hover h3{color:var(--bw-amber)}
.bw-back{display:flex;justify-content:center;margin-top:30px;padding-top:20px;border-top:1px solid rgba(240,230,211,.1)}
.bw-back a{display:inline-flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--bw-cream);text-decoration:none}
.bw-back a:hover{color:var(--bw-amber)}
.bw-back svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1024px){.bw-doors{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:40px}}
@media(max-width:600px){.bw-doors{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}.bw-door-frame{width:46%}}

/* reveal motion */
body.bw-js .bw-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
body.bw-js .bw-reveal.bw-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){body.bw-js .bw-reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.bw-scroll i:after{animation:none}}

/* inner pages */
.bw-page-hero{min-height:56vh;display:flex;align-items:flex-end}
.bw-prose p,.bw-prose li{font-size:17px;line-height:1.85;color:#dcd0bb}
.bw-prose h2,.bw-prose h3{font-family:var(--bw-serif);font-weight:400;color:var(--bw-cream)}
.bw-prose a{color:var(--bw-amber)}
.bw-note{border:1px dashed var(--bw-line);padding:18px 22px;color:var(--bw-muted);font-size:14px;border-radius:4px}

/* cards: songs, records, beyond */
.bw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}
.bw-card{background:var(--bw-card);border:1px solid rgba(240,230,211,.1);border-radius:6px;overflow:hidden;transition:transform .4s,border-color .4s,box-shadow .4s;display:flex;flex-direction:column}
.bw-card:hover{transform:translateY(-5px);border-color:rgba(226,166,90,.5);box-shadow:0 18px 50px rgba(0,0,0,.5)}
.bw-card-img{aspect-ratio:1/1;background:radial-gradient(ellipse at 50% 40%,rgba(226,166,90,.25),transparent 70%),#1b130d;background-size:cover;background-position:center}
.bw-card-body{padding:20px 22px 24px}
.bw-card h3{font-family:var(--bw-serif);font-weight:500;font-size:24px;margin:0 0 6px;color:var(--bw-cream)}
.bw-card h3 a{text-decoration:none}
.bw-card .bw-meta{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bw-muted);margin-bottom:10px}
.bw-card p{font-size:14px;line-height:1.7;color:#cfc2ac;margin:0}
.bw-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.bw-links a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--bw-line);padding:9px 16px;border-radius:999px;text-decoration:none;color:var(--bw-cream)}
.bw-links a:hover{background:var(--bw-amber);border-color:var(--bw-amber);color:#140e09}
.bw-empty{border:1px dashed var(--bw-line);padding:34px;text-align:center;color:var(--bw-muted);border-radius:6px}
.bw-tag{display:inline-block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--bw-amber);border:1px solid rgba(226,166,90,.5);padding:4px 10px;border-radius:999px;margin-bottom:10px}
.bw-single{max-width:820px;margin:0 auto;padding:150px 24px 90px}
.bw-single h1{font-family:var(--bw-serif);font-weight:400;font-size:clamp(34px,6vw,60px);letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px}
.bw-single .bw-cover{width:100%;border-radius:6px;margin:26px 0}
.bw-single audio{width:100%;margin:18px 0}

/* forms */
.bw-form{display:grid;gap:16px;max-width:620px}
.bw-form label{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--bw-muted);margin-bottom:7px}
.bw-form input[type=text],.bw-form input[type=email],.bw-form textarea,.bw-form select{width:100%;background:rgba(240,230,211,.05);border:1px solid var(--bw-line);color:var(--bw-cream);padding:14px 16px;border-radius:4px;font-family:var(--bw-sans);font-size:15px}
.bw-form input:focus,.bw-form textarea:focus,.bw-form select:focus{outline:none;border-color:var(--bw-amber);box-shadow:0 0 0 3px var(--bw-amber-soft)}
.bw-form select option{background:#16110d}
.bw-form .bw-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.bw-form button{justify-self:start;background:transparent;border:1px solid rgba(240,230,211,.7);color:var(--bw-cream);border-radius:999px;padding:15px 34px;font-family:var(--bw-sans);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .35s}
.bw-form button:hover{background:var(--bw-amber);border-color:var(--bw-amber);color:#140e09}
.bw-msg{padding:14px 18px;border-radius:4px;margin-bottom:18px;font-size:14px}
.bw-msg.ok{background:rgba(120,170,110,.14);border:1px solid rgba(120,170,110,.5)}
.bw-msg.err{background:rgba(190,80,70,.14);border:1px solid rgba(190,80,70,.5)}

/* footer */
#bw-footer{background:#080605!important;border-top:1px solid rgba(240,230,211,.08)}
.bw-foot-title{font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--bw-cream);margin:0 0 16px}
.bw-foot-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.bw-foot-list a{font-size:12px;color:var(--bw-muted);text-decoration:none;display:inline-flex;gap:9px;align-items:center}
.bw-foot-list a:hover{color:var(--bw-amber)}
.bw-foot-list svg{width:14px;height:14px;fill:currentColor}
.bw-foot-social{display:flex;gap:16px;flex-wrap:wrap}
.bw-foot-social a{color:var(--bw-cream);display:inline-flex}
.bw-foot-social a:hover{color:var(--bw-amber)}
.bw-foot-social svg{width:16px;height:16px;fill:currentColor}
.bw-foot-tag{font-family:var(--bw-serif);font-style:italic;font-size:14px;line-height:1.6;color:var(--bw-muted);margin:0}
.bw-foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--bw-muted);border-top:1px solid rgba(240,230,211,.08);padding-top:22px}
.bw-foot-bottom a{color:var(--bw-muted);text-decoration:none;margin-left:24px}
.bw-foot-bottom a:first-child{margin-left:0}
.bw-foot-bottom a:hover{color:var(--bw-amber)}

/* a11y */
a:focus-visible,button:focus-visible{outline:2px solid var(--bw-amber);outline-offset:3px}
.bw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* keep Elementor sections side-by-side on tablet/mobile where marked */
@media(max-width:767px){.bw-story .elementor-column{width:100%}.bw-hero{min-height:88vh!important}.bw-title{letter-spacing:.1em}}
