/* =========================================================
BOOT SCOOTIN' SHARED WESTERN NEON DESIGN SYSTEM
========================================================= */
:root {
  --bs-black: #050303;
  --bs-black-soft: #0b0505;
  --bs-red: #ff202d;
  --bs-red-deep: #8e1018;
  --bs-red-dark: #36070a;
  --bs-cream: #f3dfc3;
  --bs-tan: #bca896;
  --bs-orange: #ff9e43;
  --bs-border: rgba(255, 43, 53, .48);
  --bs-shadow: 0 0 7px rgba(255,32,45,.85), 0 0 22px rgba(255,32,45,.42);
  --bs-western-font: "Rye", "Rockwell Extra Bold", "Clarendon", Georgia, serif;
  --bs-condensed-font: "Oswald", "Arial Narrow", Impact, sans-serif;
  --bs-script-font: "Brush Script MT", "Segoe Script", cursive;
}

.bs-western-shell,
.bs-love-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  color: var(--bs-cream);
  background-color: var(--bs-black);
  background-image:
    linear-gradient(rgba(0,0,0,.62), rgba(0,0,0,.74)),
    linear-gradient(335deg, rgba(120,12,16,.16) 23px, transparent 23px),
    linear-gradient(155deg, rgba(120,12,16,.12) 23px, transparent 23px),
    linear-gradient(335deg, rgba(120,12,16,.14) 23px, transparent 23px),
    linear-gradient(155deg, rgba(120,12,16,.10) 23px, transparent 23px);
  background-size: auto, 58px 58px, 58px 58px, 58px 58px, 58px 58px;
  background-position: 0 0, 0 2px, 29px 31px, 29px 31px, 0 2px;
  border-block: 1px solid rgba(255,32,45,.32);
}

.bs-western-shell::before,
.bs-love-section::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,32,45,.14), transparent 38%),
    linear-gradient(90deg, rgba(0,0,0,.42), transparent 24%, transparent 76%, rgba(0,0,0,.42));
}

.bs-western-inner,
.bs-love-inner {
  width:min(1180px, calc(100% - 32px));
  margin-inline:auto;
  position:relative;
  padding:clamp(38px,6vw,84px) 0;
}

/* MAIN MENU */
.bs-brand-lockup { text-align:center; padding-right:clamp(0px,13vw,170px); margin-bottom:clamp(28px,4vw,52px); }
.bs-neon-script {
  font-family:var(--bs-script-font);
  font-size:clamp(3rem,9vw,7.6rem);
  line-height:.9;
  color:#ff4b53;
  text-shadow:0 0 2px #fff,0 0 7px var(--bs-red),0 0 16px var(--bs-red),0 0 38px rgba(255,32,45,.9);
}
.bs-brand-subline { display:flex; justify-content:center; align-items:center; gap:20px; margin-top:18px; font:800 clamp(1.25rem,3vw,2.55rem)/1 var(--bs-condensed-font); letter-spacing:.22em; }
.bs-small-star { color:var(--bs-red); text-shadow:var(--bs-shadow); }
.bs-brand-meta { margin-top:12px; font:500 clamp(.82rem,1.6vw,1.2rem)/1 var(--bs-condensed-font); letter-spacing:.28em; color:var(--bs-tan); }
.bs-brand-meta span { color:var(--bs-red); }
.bs-top-neon-mark { position:absolute; top:45px; right:20px; width:clamp(110px,16vw,190px); color:var(--bs-red); filter:drop-shadow(0 0 5px var(--bs-red)) drop-shadow(0 0 14px rgba(255,32,45,.9)); }
.bs-top-neon-mark svg,.bs-icon-ring svg,.bs-benefit-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }

.bs-western-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.bs-western-card,.bs-good-vibes-sign {
  min-height:176px;
  border:1px solid var(--bs-border);
  background:linear-gradient(100deg,rgba(255,32,45,.055),transparent 40%),rgba(4,2,2,.56);
  box-shadow:inset 0 0 24px rgba(255,32,45,.055),0 0 12px rgba(255,32,45,.08);
}
.bs-western-card { display:grid; grid-template-columns:138px 1fr auto; align-items:center; gap:20px; padding:18px 22px; color:inherit; text-decoration:none; transition:.2s ease; }
.bs-western-card:hover,.bs-western-card:focus-visible { transform:translateY(-2px); border-color:var(--bs-red); box-shadow:0 0 16px rgba(255,32,45,.35); outline:none; }
.bs-icon-ring { width:138px; aspect-ratio:1; border:2px solid var(--bs-red); border-radius:50%; display:grid; place-items:center; color:var(--bs-cream); box-shadow:var(--bs-shadow),inset 0 0 18px rgba(255,32,45,.12); }
.bs-icon-ring svg { width:82%; height:82%; filter:drop-shadow(0 0 5px rgba(255,32,45,.6)); }
.bs-card-copy { display:flex; flex-direction:column; gap:10px; }
.bs-card-copy strong { font:700 clamp(1.55rem,3vw,2.75rem)/1.02 var(--bs-western-font); text-transform:uppercase; }
.bs-card-copy small { max-width:22ch; font:400 clamp(1rem,1.6vw,1.3rem)/1.35 var(--bs-condensed-font); color:var(--bs-tan); }
.bs-card-plus { font:300 3rem/1 Arial,sans-serif; color:var(--bs-red); text-shadow:var(--bs-shadow); }
.bs-good-vibes-sign { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; padding:26px 34px; border:3px double var(--bs-red); border-radius:18px; box-shadow:var(--bs-shadow),inset 0 0 18px rgba(255,32,45,.16); }
.bs-sign-star { color:var(--bs-orange); font-size:clamp(2.2rem,5vw,4rem); text-shadow:0 0 12px var(--bs-orange); }
.bs-sign-copy { text-align:center; display:flex; flex-direction:column; }
.bs-sign-copy b { font:500 clamp(1.45rem,3.3vw,2.9rem)/1 var(--bs-condensed-font); letter-spacing:.17em; color:#ff695f; text-shadow:var(--bs-shadow); }
.bs-sign-copy em { font:400 clamp(2rem,4.3vw,4rem)/1 var(--bs-script-font); color:var(--bs-cream); text-shadow:0 0 4px #fff,0 0 13px rgba(255,158,67,.7); }

/* WHY YOU'LL LOVE IT */
.bs-love-section { padding-top:0; }
.bs-dance-heading { text-align:center; display:flex; flex-direction:column; gap:8px; margin-bottom:34px; }
.bs-friday-script { font:400 clamp(2rem,6vw,4.7rem)/1 var(--bs-script-font); color:#ff4650; text-shadow:0 0 4px #fff,0 0 11px var(--bs-red),0 0 28px rgba(255,32,45,.8); }
.bs-dance-heading strong { font:700 clamp(2rem,5vw,4rem)/1 var(--bs-condensed-font); letter-spacing:.08em; color:var(--bs-cream); text-shadow:0 0 6px #fff,0 0 18px rgba(255,158,67,.5); }

.bs-love-panel {
  border:1px solid var(--bs-border);
  border-radius:20px;
  padding:clamp(24px,4vw,48px);
  background:rgba(5,2,2,.62);
  box-shadow:inset 0 0 30px rgba(255,32,45,.06),0 0 12px rgba(255,32,45,.12);
}
.bs-love-panel h2 {
  margin:0 0 26px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  font:700 clamp(2rem,5vw,4.1rem)/1 var(--bs-condensed-font);
  letter-spacing:.04em;
  color:#f7ead9;
  text-align:center;
}
.bs-love-panel h2 span { color:var(--bs-red); text-shadow:var(--bs-shadow); }

.bs-benefit-list { display:flex; flex-direction:column; }
.bs-benefit {
  display:grid;
  grid-template-columns:150px 1fr;
  align-items:center;
  gap:28px;
  min-height:150px;
  padding:18px 0;
  border-top:1px solid rgba(255,32,45,.28);
}
.bs-benefit:first-child { border-top:0; }
.bs-benefit-icon {
  width:126px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border:2px solid var(--bs-red);
  border-radius:50%;
  color:var(--bs-red);
  box-shadow:var(--bs-shadow),inset 0 0 18px rgba(255,32,45,.1);
}
.bs-benefit-icon svg { width:76%; height:76%; filter:drop-shadow(0 0 5px rgba(255,32,45,.75)); }
.bs-benefit-icon--gold { color:var(--bs-orange); }
.bs-benefit h3 { margin:0 0 8px; font:700 clamp(1.4rem,2.6vw,2.25rem)/1 var(--bs-condensed-font); text-transform:uppercase; color:#f7ead9; }
.bs-benefit p { margin:0; font:400 clamp(1rem,1.7vw,1.35rem)/1.4 var(--bs-condensed-font); color:var(--bs-tan); }

.bs-testimonial-heading { text-align:center; padding-top:42px; display:flex; flex-direction:column; gap:14px; }
.bs-testimonial-heading span { font:700 clamp(1rem,2.2vw,1.55rem)/1 var(--bs-condensed-font); letter-spacing:.25em; color:#ff4d57; }
.bs-testimonial-heading strong { font:400 clamp(2.5rem,6vw,5.2rem)/1 var(--bs-script-font); color:var(--bs-cream); text-shadow:0 0 5px #fff,0 0 17px rgba(255,158,67,.6); }

.bs-svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }

@media (max-width:820px) {
  .bs-western-inner,.bs-love-inner { width:min(100% - 22px,680px); padding-block:32px; }
  .bs-brand-lockup { padding-right:0; padding-top:112px; }
  .bs-top-neon-mark { top:15px; right:50%; transform:translateX(50%); width:100px; }
  .bs-western-grid { grid-template-columns:1fr; gap:10px; }
  .bs-western-card { grid-template-columns:78px 1fr 26px; min-height:116px; gap:14px; padding:14px; }
  .bs-icon-ring { width:74px; }
  .bs-card-copy strong { font-size:clamp(1.35rem,6vw,2.2rem); }
  .bs-card-copy small { font-size:.95rem; }
  .bs-good-vibes-sign { min-height:126px; padding:18px 14px; gap:10px; }

  .bs-love-panel { border-radius:14px; padding:24px 18px; }
  .bs-love-panel h2 { gap:10px; }
  .bs-benefit { grid-template-columns:86px 1fr; min-height:120px; gap:16px; }
  .bs-benefit-icon { width:78px; }
}

@media (max-width:430px) {
  .bs-brand-subline { letter-spacing:.12em; }
  .bs-brand-meta { letter-spacing:.16em; }
  .bs-western-card { grid-template-columns:62px 1fr 20px; gap:10px; }
  .bs-icon-ring { width:60px; }
  .bs-card-copy strong { font-size:1.3rem; }
  .bs-card-copy small { font-size:.82rem; }
  .bs-sign-star { font-size:1.7rem; }

  .bs-love-panel h2 { font-size:1.9rem; }
  .bs-love-panel h2 span { display:none; }
  .bs-benefit { grid-template-columns:66px 1fr; gap:12px; min-height:104px; }
  .bs-benefit-icon { width:60px; }
  .bs-benefit h3 { font-size:1.18rem; }
  .bs-benefit p { font-size:.88rem; }
  .bs-testimonial-heading span { letter-spacing:.14em; }
}

@media (prefers-reduced-motion:reduce) {
  .bs-western-card { transition:none; }
}


/* =========================================================
   BOOT SCOOTIN' PLATFORM INTEGRATION — V103
   The Western Neon package is the final visual authority.
   ========================================================= */
html,body{background:#050303!important;color:var(--bs-cream)!important;overflow-x:hidden}
body{background-image:
 radial-gradient(circle at 50% -12%,rgba(190,0,13,.26),transparent 46%),
 linear-gradient(rgba(0,0,0,.66),rgba(0,0,0,.76)),
 linear-gradient(335deg,rgba(120,12,16,.12) 23px,transparent 23px),
 linear-gradient(155deg,rgba(120,12,16,.09) 23px,transparent 23px)!important;
 background-size:auto,auto,58px 58px,58px 58px!important}
main,.site-wrapper{background:transparent!important}

/* Header / established lockup */
.honky-header{background:rgba(5,3,3,.96)!important;border-bottom:1px solid var(--bs-border)!important;min-height:96px!important}
.honky-logo-established{display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important}
.honky-logo-established img{width:72px!important;height:72px!important;object-fit:contain!important}
.honky-logo-established span{display:block!important;color:var(--bs-tan)!important;font:600 .78rem/1.25 var(--bs-condensed-font)!important;letter-spacing:.16em!important;white-space:normal!important;max-width:155px!important}
.honky-logo-established i{color:var(--bs-red)!important}
.honky-menu-button{border:1px solid var(--bs-border)!important;background:#100607!important;box-shadow:0 0 14px rgba(255,32,45,.15)!important}

/* Mobile overlay rebuilt with package styling */
.honky-mobile-nav{position:fixed!important;inset:0!important;z-index:9999!important;background:rgba(2,1,1,.97)!important;overflow-y:auto!important;padding:0!important}
.honky-mobile-nav[aria-hidden="true"]{display:none!important}
.honky-mobile-nav[aria-hidden="false"]{display:block!important}
.honky-menu-panel{width:100%!important;min-height:100%!important;background:transparent!important;padding:0 0 44px!important;overflow:visible!important}
.honky-menu-head{position:sticky!important;top:0!important;z-index:5!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:18px 20px!important;background:rgba(5,3,3,.96)!important;border-bottom:1px solid rgba(255,32,45,.32)!important}
.menu-brand{display:flex!important;align-items:center!important;gap:12px!important}
.menu-brand img{width:60px!important;height:60px!important;object-fit:contain!important}
.menu-brand span{color:var(--bs-tan)!important;font:600 .78rem/1.25 var(--bs-condensed-font)!important;letter-spacing:.15em!important;max-width:145px!important}
.nav-close{width:56px!important;height:56px!important;min-width:56px!important;border-radius:50%!important;border:1px solid var(--bs-border)!important;background:#160708!important;color:#fff!important;font-size:2rem!important;line-height:1!important}
.honky-menu-root{width:min(100% - 22px,760px)!important;margin:auto!important;padding:24px 0!important}
.honky-menu-feature{display:block!important;margin-bottom:16px!important;padding:22px!important;border:2px solid var(--bs-red)!important;border-radius:14px!important;background:linear-gradient(180deg,rgba(112,4,10,.72),rgba(25,2,3,.92))!important;color:var(--bs-cream)!important;text-decoration:none!important;box-shadow:var(--bs-shadow)!important}
.honky-menu-feature small,.honky-menu-feature strong,.honky-menu-feature span{display:block!important}
.honky-menu-feature small{font:600 .8rem/1 var(--bs-condensed-font)!important;letter-spacing:.2em!important;color:#ff6870!important}
.honky-menu-feature strong{margin:8px 0!important;font:700 clamp(1.8rem,8vw,3.2rem)/1 var(--bs-western-font)!important;text-transform:uppercase!important}
.honky-menu-feature span{font:400 1rem/1.35 var(--bs-condensed-font)!important;color:var(--bs-tan)!important}
.honky-menu-sections{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
.menu45-section{border:1px solid var(--bs-border)!important;background:rgba(4,2,2,.72)!important;box-shadow:inset 0 0 24px rgba(255,32,45,.05)!important}
.menu45-section summary{list-style:none!important;display:grid!important;grid-template-columns:74px 1fr 24px!important;align-items:center!important;gap:12px!important;min-height:122px!important;padding:14px!important;cursor:pointer!important;color:var(--bs-cream)!important}
.menu45-section summary::-webkit-details-marker{display:none!important}
.menu45-section summary>span{display:contents!important}
.menu45-section summary svg{grid-column:1!important;width:64px!important;height:64px!important;padding:10px!important;border:1.5px solid var(--bs-red)!important;border-radius:50%!important;color:var(--bs-cream)!important;stroke:currentColor!important;fill:none!important;filter:drop-shadow(0 0 5px rgba(255,32,45,.5))!important}
.menu45-section summary b{grid-column:2!important;display:flex!important;flex-direction:column!important;gap:7px!important;min-width:0!important}
.menu45-section summary strong{font:700 clamp(1.25rem,3vw,2rem)/1.05 var(--bs-western-font)!important;text-transform:uppercase!important;color:var(--bs-cream)!important}
.menu45-section summary small{font:400 .92rem/1.25 var(--bs-condensed-font)!important;color:var(--bs-tan)!important}
.menu45-section summary i{grid-column:3!important;font:300 2rem/1 Arial!important;color:var(--bs-red)!important;text-shadow:var(--bs-shadow)!important}
.menu45-section[open] summary i{transform:rotate(45deg)!important}
.menu45-submenu{padding:0 16px 16px 100px!important;display:grid!important;gap:8px!important}
.menu45-submenu a{padding:9px 0!important;color:var(--bs-cream)!important;text-decoration:none!important;font:500 1rem/1.2 var(--bs-condensed-font)!important;border-bottom:1px solid rgba(255,32,45,.18)!important}

/* New homepage component areas */
.bs-home-signs .bs-western-card{grid-template-columns:105px 1fr!important}
.bs-home-signs .bs-card-plus{display:none!important}
.bs-home-signs .bs-card-copy strong{font-family:var(--bs-condensed-font)!important;letter-spacing:.06em!important}
.bs-home-signs .bs-western-grid{align-items:stretch!important}
.bs-home-signs .bs-brand-lockup{padding-right:0!important}
.bs-home-signs .bs-top-neon-mark{display:none!important}

/* Universal dark-card reset — cream is text only, never a background */
.cream-home,.paper-card,.paper-panel,.review-notes blockquote,.value-card,.booking-card,.class-card,.form-card,.account-card,.auth-card,.member-card,.content-card,.policy-card,.quote-card,.info-card,.white-card,[class*="cream"],[class*="paper"]{background:linear-gradient(145deg,rgba(48,5,7,.92),rgba(7,2,2,.98))!important;color:var(--bs-cream)!important;border-color:var(--bs-border)!important;box-shadow:inset 0 0 30px rgba(255,32,45,.06),0 0 14px rgba(255,32,45,.09)!important}
.review-wall{background:#050303!important}
.review-notes blockquote{transform:none!important;border:1px solid var(--bs-border)!important}
.review-notes blockquote:before{display:none!important}
.review-notes p,.review-notes b{color:var(--bs-cream)!important;opacity:1!important}
input,select,textarea{background:#120607!important;color:var(--bs-cream)!important;border:1px solid var(--bs-border)!important}
input::placeholder,textarea::placeholder{color:#9f8c7d!important}
label,p,li,small{max-width:100%}

/* Typography protection */
h1,h2,h3,h4,strong,b{overflow-wrap:normal;word-break:normal}
.honky-tonk-title,.section-title,.page-title{color:var(--bs-cream)!important;text-shadow:none!important}
.section-label,.eyebrow{color:#ff5059!important}

/* Booking pages: remove white side gutters and keep readable */
.booking-page,.bookings-page,.booking-shell,.booking-list,.classes-section{background:transparent!important;color:var(--bs-cream)!important}
.booking-card,.class-card{border:1px solid var(--bs-border)!important;border-radius:10px!important;padding:clamp(18px,4vw,30px)!important}
.booking-card *, .class-card *{color:inherit}
.booking-card .spaces-left,.class-card .spaces-left{color:#5bd27d!important}

/* Buttons */
button,.button,.btn,.primary-button,.book-button,.paper-link{font-family:var(--bs-condensed-font)!important}
.primary-cta,.book-button,.booking-card button,.class-card button{background:linear-gradient(180deg,#d91420,#78060c)!important;color:#fff3e3!important;border:1px solid #ff5961!important;box-shadow:var(--bs-shadow)!important}

/* Footer */
.professional-footer,.new-home-footer{background:#050303!important;color:var(--bs-cream)!important;border-top:1px solid var(--bs-border)!important}
.footer-columns a,.footer-columns strong,.footer-bottom{color:var(--bs-cream)!important}

@media(max-width:820px){
 .honky-menu-sections{grid-template-columns:1fr!important}
 .menu45-section summary{grid-template-columns:64px 1fr 22px!important;min-height:104px!important;padding:12px!important}
 .menu45-section summary svg{width:56px!important;height:56px!important}
 .menu45-submenu{padding-left:88px!important}
 .bs-home-signs .bs-western-card{grid-template-columns:72px 1fr!important}
}
@media(max-width:430px){
 .honky-header{min-height:82px!important;padding-inline:12px!important}
 .honky-logo-established img{width:58px!important;height:58px!important}
 .honky-logo-established span{font-size:.67rem!important;letter-spacing:.11em!important;max-width:118px!important}
 .honky-menu-root{width:calc(100% - 16px)!important}
 .menu45-section summary{grid-template-columns:54px 1fr 20px!important;gap:9px!important}
 .menu45-section summary svg{width:48px!important;height:48px!important;padding:8px!important}
 .menu45-section summary strong{font-size:1.16rem!important}
 .menu45-section summary small{font-size:.8rem!important}
 .menu45-submenu{padding-left:72px!important}
}
