/* Boot Scootin' v100.0 — presentation-ready honky-tonk unification */
:root{--bs-black:#050303;--bs-panel:#100506;--bs-panel2:#1a0608;--bs-red:#e21822;--bs-bright:#ff3038;--bs-cream:#f4e4ca;--bs-muted:#c7b6a6;--bs-line:rgba(255,58,63,.34)}
html{background:#050303!important;color-scheme:dark}
body{margin:0!important;min-height:100%;overflow-x:hidden!important;color:var(--bs-cream)!important;background-color:#050303!important;background-image:radial-gradient(circle at 50% -10%,rgba(190,0,13,.3),rgba(87,0,7,.16) 28%,transparent 58%),radial-gradient(circle at 100% 28%,rgba(150,15,9,.17),transparent 36%),radial-gradient(circle at 0 68%,rgba(115,0,7,.15),transparent 38%),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(180deg,#080303,#120304 30%,#080303 62%,#030202)!important;background-size:auto,auto,auto,100% 36px,72px 36px,auto!important;background-attachment:fixed!important}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.8),transparent 17%,transparent 83%,rgba(0,0,0,.8)),linear-gradient(180deg,rgba(0,0,0,.15),transparent 30%,rgba(0,0,0,.45))}
body:after{content:"";position:fixed;width:80vw;height:420px;top:-260px;left:10vw;z-index:-1;pointer-events:none;background:rgba(255,0,20,.22);filter:blur(100px);border-radius:50%}
body>*{position:relative;z-index:1}
img{max-width:100%;height:auto}

/* remove every pale legacy canvas */
.section.paper,.paper,.cream-home,.booking-content,.booking-arrival-section,.about-values-section,.about-story-section,.about-detail-section,.about-training-section,.about-method-section,.moonshine-page .panel,.member-page .panel,.page-panel,.content-panel,.light-section{background:transparent!important;color:var(--bs-cream)!important}
.section.paper:before,.paper:before{display:none!important}

/* shared dark panels */
.honky-tonk-section,.booking-shell,.booking-arrival-card,.about-values-grid>*,.about-training-card,.about-method-card,.about-story-card,.about-social-card,.class-card,.booking-policy-grid article,.booking-help article,.member-page .panel,.moonshine-page .panel,.page-card,.content-card{background:linear-gradient(145deg,rgba(39,5,6,.92),rgba(8,3,3,.98))!important;border:1px solid var(--bs-line)!important;color:var(--bs-cream)!important;box-shadow:0 0 0 1px rgba(255,54,61,.04),0 0 22px rgba(196,0,15,.1),inset 0 0 55px rgba(124,0,7,.13)!important}
.honky-tonk-section{width:min(1180px,calc(100% - 32px));margin:24px auto;padding:clamp(24px,5vw,64px);box-sizing:border-box;border-radius:4px;overflow:hidden}

/* universal text contrast */
h1,h2,h3,h4,h5,h6,strong,b{color:#fff2df!important}
p,li,label,small,.muted,.subtitle,.booking-lead{color:var(--bs-muted)!important}
a{color:inherit}
.kicker,.section-label,.eyebrow{color:#ff5960!important;text-shadow:0 0 12px rgba(255,48,56,.3)}
.honky-tonk-title,.booking-toolbar h2,.about-section-title{color:#fff0dc!important;text-shadow:0 2px 0 #000,0 0 16px rgba(255,42,51,.12)!important}

/* header lockup */
.honky-header{min-height:104px!important;padding:16px clamp(20px,4vw,56px)!important;box-sizing:border-box;background:#050303!important;border-bottom:1px solid rgba(255,48,56,.28)!important}
.honky-logo{display:flex!important;align-items:center!important;gap:18px!important;overflow:visible!important;min-width:0!important}
.honky-logo img{width:86px!important;height:86px!important;object-fit:contain!important;flex:none!important}
.honky-logo span{display:block!important;max-width:none!important;white-space:normal!important;color:#d7b98c!important;font:600 14px/1.25 Oswald,sans-serif!important;letter-spacing:.17em!important;text-transform:uppercase!important}
.honky-menu-button{flex:none!important}

/* mobile menu — one stable layout */
.honky-mobile-nav{position:fixed!important;inset:0!important;z-index:99999!important;background:rgba(0,0,0,.86)!important;display:none!important;overflow:hidden!important;padding:0!important}
.honky-mobile-nav.open{display:block!important}
.honky-menu-panel{position:absolute!important;inset:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;background:#050303!important;padding:22px 28px max(40px,env(safe-area-inset-bottom))!important;box-sizing:border-box!important}
.honky-menu-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;padding:0 0 24px!important;border-bottom:1px solid var(--bs-line)!important}
.menu-brand{display:flex!important;align-items:center!important;gap:16px!important;min-width:0!important}
.menu-brand img{width:92px!important;height:92px!important;object-fit:contain!important;flex:none!important}
.menu-brand span{font:600 15px/1.25 Oswald,sans-serif!important;letter-spacing:.15em!important;color:#d7b98c!important;white-space:normal!important}
.nav-close{width:76px!important;height:76px!important;min-width:76px!important;border-radius:50%!important;font-size:48px!important;line-height:1!important}
.honky-menu-root{padding-top:26px!important}
.honky-menu-feature{display:block!important;padding:0 0 28px!important;border-bottom:3px solid rgba(255,48,56,.7)!important;text-decoration:none!important}
.honky-menu-feature small,.honky-menu-feature strong,.honky-menu-feature span{display:block!important;margin:0!important;max-width:100%!important;white-space:normal!important}
.honky-menu-feature small{font:600 17px/1.2 Oswald,sans-serif!important;letter-spacing:.18em!important;color:#ef5960!important}
.honky-menu-feature strong{font:700 clamp(34px,9vw,56px)/1 Oswald,sans-serif!important;text-transform:uppercase!important;color:#fff!important;margin:10px 0 14px!important}
.honky-menu-feature span{font:400 20px/1.35 Oswald,sans-serif!important;color:#bfaea0!important}
.menu45-section{border-bottom:1px solid rgba(255,82,87,.26)!important}
.menu45-section summary{display:grid!important;grid-template-columns:minmax(0,1fr) 32px!important;align-items:center!important;gap:14px!important;padding:24px 0!important;cursor:pointer!important;list-style:none!important}
.menu45-section summary::-webkit-details-marker{display:none!important}
.menu45-section summary>span{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;align-items:center!important;gap:20px!important;min-width:0!important}
.menu45-section svg{width:42px!important;height:42px!important;stroke:#f4e4ca!important;color:#f4e4ca!important;fill:none!important;stroke-width:1.6!important}
.menu45-section summary b{display:block!important;min-width:0!important}
.menu45-section summary strong,.menu45-section summary small{display:block!important;white-space:normal!important;overflow-wrap:anywhere!important}
.menu45-section summary strong{font:700 clamp(30px,7vw,46px)/1.05 Oswald,sans-serif!important;color:#fff!important}
.menu45-section summary small{font:400 18px/1.25 Oswald,sans-serif!important;color:#aa9a8e!important;margin-top:7px!important}
.menu45-section summary>i{font:400 44px/1 Oswald,sans-serif!important;color:#ff4148!important;font-style:normal!important;text-align:right!important}
.menu45-submenu{padding:0 0 20px 78px!important}
.menu45-submenu a{display:block!important;padding:10px 0!important;color:#ead9c4!important;font:500 18px/1.35 Oswald,sans-serif!important;text-decoration:none!important}
body.menu-open{overflow:hidden!important}

/* bookings: no white canvas anywhere */
.booking-page,.booking-content,.booking-help,.booking-arrival-section{background:transparent!important}
.booking-shell{width:min(1120px,calc(100% - 32px))!important;margin:22px auto!important;padding:clamp(22px,4vw,48px)!important;box-sizing:border-box!important}
.booking-toolbar{background:transparent!important;padding:0!important}
.booking-toolbar h2{color:#fff!important;opacity:1!important;font-family:Oswald,sans-serif!important;font-size:clamp(38px,8vw,66px)!important;line-height:1!important;text-shadow:none!important}
.booking-filter{display:block!important;color:#f4e4ca!important;font-weight:600!important}
.booking-filter select{width:100%!important;background:#0d0304!important;color:#fff0dc!important;border:1px solid rgba(255,73,80,.55)!important;min-height:58px!important;padding:0 18px!important}
.booking-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))!important;gap:22px!important}
.class-card{padding:26px!important;border-radius:4px!important;overflow:hidden!important}
.class-date{background:#090203!important;border:1px solid rgba(255,48,56,.25)!important;color:#fff!important}
.class-venue,.class-info h3{color:#fff1dc!important}
.class-public-note{background:#170607!important;color:#e7d4c0!important;border-left:3px solid #e21822!important}
.class-footer{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px 20px!important}
.spaces{color:#50b879!important}
.spaces.low,.spaces.full{color:#ff6268!important}
.button,.book-class,.booking-submit,.honky-tonk-button{background:linear-gradient(180deg,#d51822,#8d0810)!important;color:#fff!important;border:1px solid #ff5960!important;box-shadow:0 0 10px rgba(255,38,49,.48)!important;text-decoration:none!important}
.booking-arrival-card{width:min(960px,calc(100% - 32px))!important;margin:24px auto!important;padding:clamp(24px,5vw,56px)!important}
.booking-arrival-card li,.booking-arrival-card p{color:#d8c7b8!important}
.booking-dialog{background:#0b0304!important;color:#fff!important;border:1px solid var(--bs-line)!important}
.booking-dialog input,.booking-dialog select,.booking-dialog textarea{background:#170607!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}

/* about + all legacy cream cards */
.about-page,.about-values-section,.about-story-section,.about-training-section,.about-method-section{background:transparent!important}
.about-values-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;gap:18px!important}
.about-values-grid>*{padding:28px!important}
.about-values-grid svg,.about-values-grid .icon{color:#ff5057!important;stroke:#ff5057!important}
.about-training-note,.about-note,.callout{background:#170607!important;color:#d9c6b5!important;border-left:3px solid #e21822!important}
.about-training-note *,.about-note *,.callout *{color:inherit!important}

/* professional footer: compact and non-overlaying */
footer,.professional-footer,.new-home-footer{position:relative!important;inset:auto!important;transform:none!important;z-index:2!important;background:#050303!important;color:#c8b6a7!important;border-top:1px solid rgba(255,58,63,.26)!important;height:auto!important;max-height:none!important;overflow:visible!important}
.footer-newsletter,.footer-columns,.footer-bottom,.footer-lockup,.footer-legal-links{width:min(1120px,calc(100% - 40px))!important;margin-left:auto!important;margin-right:auto!important}
.footer-columns{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:30px!important;padding:42px 0!important}
.footer-columns>div{display:flex!important;flex-direction:column!important;gap:12px!important}
.footer-columns a,.footer-legal-links a{display:inline-block!important;padding:3px 0!important;color:#baa99c!important;text-decoration:none!important}
.footer-bottom{display:flex!important;justify-content:space-between!important;gap:24px!important;padding:28px 0 38px!important;border-top:1px solid rgba(255,255,255,.1)!important}
.footer-legal-links{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px 26px!important;padding:26px 0!important}
.footer-logo{max-width:110px!important}

/* hide leaked policy words / stale overlay layers */
.policy-overlay,.legal-overlay,.footer-overlay,.policy-menu,[class*="policy-overlay"],[class*="legal-overlay"]{display:none!important}

@media(max-width:700px){
 body{background-attachment:scroll!important;background-size:auto,auto,auto,100% 28px,56px 28px,auto!important}
 .honky-header{min-height:92px!important;padding:12px 18px!important}
 .honky-logo{gap:10px!important}
 .honky-logo img{width:66px!important;height:66px!important}
 .honky-logo span{font-size:11px!important;letter-spacing:.12em!important;max-width:150px!important}
 .honky-menu-button{width:62px!important;height:62px!important}
 .honky-menu-panel{padding:18px 22px calc(38px + env(safe-area-inset-bottom))!important}
 .menu-brand img{width:72px!important;height:72px!important}
 .nav-close{width:64px!important;height:64px!important;min-width:64px!important;font-size:40px!important}
 .honky-menu-feature strong{font-size:42px!important}
 .menu45-section summary{padding:20px 0!important}
 .menu45-section summary>span{grid-template-columns:46px minmax(0,1fr)!important;gap:14px!important}
 .menu45-section svg{width:34px!important;height:34px!important}
 .menu45-section summary strong{font-size:34px!important}
 .menu45-section summary small{font-size:16px!important}
 .menu45-submenu{padding-left:60px!important}
 .honky-tonk-section,.booking-shell,.booking-arrival-card{width:calc(100% - 20px)!important;margin:14px auto!important;padding:26px 18px!important}
 .booking-grid{grid-template-columns:1fr!important}
 .class-card{padding:22px 18px!important}
 .footer-columns{grid-template-columns:1fr 1fr!important;gap:26px 18px!important}
 .footer-bottom{display:block!important;text-align:center!important}
}
@media(max-width:430px){
 .footer-columns{grid-template-columns:1fr!important}
 .menu45-section summary strong{font-size:30px!important}
 .honky-menu-feature strong{font-size:38px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
