/* RC92 — Clean public booking page rebuilt from scratch.
   Visual layer only. Existing Supabase booking logic remains unchanged. */

:root{
  --jc-gold:#e4b83f;
  --jc-gold-2:#f1cf70;
  --jc-gold-dark:#9d6812;
  --jc-ink:#070707;
  --jc-panel:rgba(9,9,9,.78);
  --jc-panel-soft:rgba(13,13,13,.67);
  --jc-line:rgba(226,181,60,.42);
  --jc-text:#fff;
  --jc-muted:#d1d1d1;
}

html{background:#050505;scroll-behavior:smooth}
body.scene-booking{
  position:relative;
  min-height:100%;
  overflow-x:hidden;
  color:var(--jc-text);
  background:#050505!important;
  isolation:isolate;
}

/* Two approved photos only. They overlap and dissolve into each other at center. */
body.scene-booking::before,
body.scene-booking::after{
  content:"";
  position:fixed;
  inset:0 auto 0 0;
  width:68vw;
  min-width:760px;
  height:100vh;
  z-index:-3;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:cover;
  filter:brightness(.46) saturate(.82) contrast(1.04);
  transform:translateZ(0);
}
body.scene-booking::before{
  left:0;
  background-image:url('../images/brand-scenes/booking-van-final.png');
  background-position:center center;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.94) 66%,rgba(0,0,0,.54) 82%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.94) 66%,rgba(0,0,0,.54) 82%,transparent 100%);
}
body.scene-booking::after{
  left:auto;
  right:0;
  background-image:url('../images/brand-scenes/booking-installation-final.png');
  background-position:center center;
  -webkit-mask-image:linear-gradient(270deg,#000 0%,#000 58%,rgba(0,0,0,.94) 66%,rgba(0,0,0,.54) 82%,transparent 100%);
  mask-image:linear-gradient(270deg,#000 0%,#000 58%,rgba(0,0,0,.94) 66%,rgba(0,0,0,.54) 82%,transparent 100%);
}

body.scene-booking nav,
body.scene-booking .topbar,
body.scene-booking .gold-strip,
body.scene-booking footer,
body.scene-booking .seo-section{position:relative;z-index:3}

/* Remove every legacy booking/calendar image layer. */
body.scene-booking .jc-booking-bg,
body.scene-booking .jc-booking-overlay,
body.scene-booking #booking::before,
body.scene-booking #booking::after,
body.scene-booking .jc-booking-experience::before,
body.scene-booking .jc-booking-experience::after{display:none!important;background-image:none!important}

.jc-booking-experience{
  position:relative;
  z-index:2;
  min-height:980px;
  padding:116px 0 70px;
  overflow:visible;
  background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.28))!important;
}
.jc-booking-shell{width:min(1180px,calc(100% - 38px));margin:0 auto;position:relative}
.jc-booking-hero{max-width:720px;margin:0 0 30px 72px;text-shadow:0 4px 28px rgba(0,0,0,.92)}
.jc-kicker,.jc-step-count{color:var(--jc-gold-2);font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.jc-booking-hero h1{margin:10px 0 12px;font-family:Inter,sans-serif;font-size:clamp(2.35rem,4.4vw,4.55rem);line-height:1.02;letter-spacing:-.045em;font-weight:750}
.jc-gold-rule{width:78px;height:2px;background:linear-gradient(90deg,var(--jc-gold-2),var(--jc-gold-dark));margin:18px 0}
.jc-booking-hero>p{margin:0 0 22px;color:#f1f1f1;font-size:.96rem}
.jc-trust-row{display:flex;gap:24px;flex-wrap:wrap}.jc-trust-row>div{display:flex;align-items:center;gap:9px;font-size:.72rem;color:#f2f2f2}.jc-trust-row i{font-style:normal;color:var(--jc-gold-2);font-size:1.35rem}.jc-trust-row small{display:block;color:#c5c5c5;margin-top:2px}

.jc-booking-panel{
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  grid-template-rows:auto 80px;
  overflow:hidden;
  border:1px solid rgba(230,184,61,.72);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(4,4,4,.80),rgba(14,14,14,.69));
  box-shadow:0 28px 90px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(8px) saturate(1.08);
  backdrop-filter:blur(8px) saturate(1.08);
}
.jc-step-rail{grid-column:1;grid-row:1;padding:25px 0;border-right:1px solid rgba(229,181,55,.24);background:rgba(0,0,0,.25)}
.jc-step-link{position:relative;width:100%;display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:start;padding:12px 22px;border:0;background:none;color:#fff;text-align:left;cursor:pointer}
.jc-step-link::after{content:"";position:absolute;left:45px;top:54px;width:1px;height:38px;background:rgba(229,181,55,.58)}
.jc-step-link:last-child::after{display:none}.jc-step-link span{width:34px;height:34px;border:1px solid var(--jc-gold);border-radius:50%;display:grid;place-items:center;background:#0b0b0b;font-weight:800;font-size:.84rem}.jc-step-link.active span,.jc-step-link.complete span{background:linear-gradient(135deg,var(--jc-gold-2),#b97813);color:#111}.jc-step-link b{font-size:.72rem;letter-spacing:.04em}.jc-step-link small{display:block;margin-top:4px;color:#c3c3c3;font-size:.68rem;line-height:1.35}

.jc-step-content{grid-column:2;min-height:540px;padding:34px 38px 30px;background:rgba(5,5,5,.12)}
.jc-booking-step{display:none}.jc-booking-step.active{display:block;animation:jcStepIn .24s ease}@keyframes jcStepIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.jc-booking-step h2{margin:10px 0 7px;font-family:Inter,sans-serif;font-size:1.8rem;letter-spacing:-.025em}.jc-booking-step>p{margin:0 0 25px;color:#d5d5d5;font-size:.84rem}

.jc-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.jc-service-grid button{min-height:72px;padding:13px 16px;border:1px solid rgba(226,181,60,.34);border-radius:12px;background:rgba(255,255,255,.055);color:#fff;text-align:left;cursor:pointer;transition:.18s}.jc-service-grid button:hover,.jc-service-grid button.active{border-color:var(--jc-gold-2);background:linear-gradient(135deg,rgba(224,177,53,.30),rgba(255,255,255,.055));box-shadow:inset 0 0 0 1px rgba(229,181,55,.18)}.jc-service-grid b{display:block;font-size:.83rem}.jc-service-grid small{display:block;margin-top:4px;color:#c4c4c4;font-size:.67rem}#fService{position:absolute;left:-9999px}

.jc-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:22px}
.jc-calendar-box,.jc-times-box{
  border:1px solid rgba(237,197,88,.42);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(33,33,33,.82),rgba(17,17,17,.72));
  box-shadow:inset 0 1px rgba(255,255,255,.055);
}
.jc-calendar-box{padding:22px 23px}.jc-times-box{padding:22px 18px}
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-header h3{margin:0;color:var(--jc-gold-2);font-family:Inter,sans-serif;font-size:1.08rem;letter-spacing:.06em}.cal-nav{width:36px;height:36px;border:1px solid rgba(230,184,61,.24);border-radius:50%;background:rgba(255,255,255,.045);color:var(--jc-gold-2);font-size:1.55rem;cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.cal-dow{padding:7px 0;text-align:center;color:#fff;font-size:.7rem;font-weight:800}.cal-day{aspect-ratio:1;display:grid;place-items:center;position:relative;border-radius:50%;color:#fff;font-size:.86rem;font-weight:650;text-shadow:0 1px 5px #000;cursor:pointer;transition:.16s}.cal-day:hover:not(.past):not(.empty){background:rgba(235,190,69,.26)}.cal-day.selected{background:linear-gradient(135deg,#f2d071,#c88a18);color:#111;text-shadow:none;font-weight:900;box-shadow:0 5px 20px rgba(226,174,42,.34)}.cal-day.today:not(.selected){box-shadow:inset 0 0 0 2px var(--jc-gold)}.cal-day.past{color:#777;cursor:not-allowed;text-shadow:none}.cal-day.empty{color:transparent;cursor:default}.cal-day.has-appt::after{content:"";position:absolute;bottom:3px;width:5px;height:5px;border-radius:50%;background:var(--jc-gold-2)}.jc-calendar-legend{margin-top:15px;color:#d5d5d5;font-size:.68rem}.jc-calendar-legend span{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--jc-gold-2)}
.jc-times-box h3{margin:1px 0 13px;font-size:1.02rem}.slots-grid{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.slot{padding:10px 11px!important;border:1px solid rgba(235,190,69,.45)!important;border-radius:8px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;text-align:center!important;font-size:.76rem!important;font-weight:700!important;cursor:pointer!important}.slot:hover:not(.taken),.slot.selected{border-color:#f1cd6c!important;background:linear-gradient(135deg,rgba(232,188,70,.78),rgba(137,86,9,.82))!important;color:#fff!important}.slot.taken{opacity:.28!important;cursor:not-allowed!important;text-decoration:line-through}.jc-time-note{margin-top:14px;color:#d0d0d0;font-size:.63rem}.jc-live-sync-note{display:none!important}.bk-summary.show{margin-top:14px;padding:11px 13px;border:1px solid rgba(229,181,55,.37);border-radius:9px;background:rgba(225,177,46,.12);color:#fff;font-size:.76rem}

.jc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.jc-form-grid .full{grid-column:1/-1}.fgroup label{display:block;margin-bottom:7px;color:var(--jc-gold-2);font-size:.64rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.fgroup input,.fgroup select,.fgroup textarea{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid rgba(236,194,78,.43);border-radius:9px;background:rgba(255,255,255,.085);color:#fff;font-family:Inter,sans-serif;font-size:.79rem;outline:none}.fgroup input:focus,.fgroup select:focus,.fgroup textarea:focus{border-color:#f0ca67;box-shadow:0 0 0 3px rgba(224,177,53,.12)}.fgroup textarea{resize:vertical}.fgroup option{color:#111}.jc-phone-row{display:grid;grid-template-columns:100px 1fr;gap:9px}
.jc-review-card{display:grid;gap:9px;max-width:760px;margin:0 auto}.jc-review-row{display:grid;grid-template-columns:145px 1fr;gap:16px;padding:11px 13px;border:1px solid rgba(232,189,69,.30);border-radius:9px;background:rgba(255,255,255,.06);font-size:.76rem}.jc-review-row span:first-child{color:var(--jc-gold-2);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase}.jc-review-notice{max-width:760px;margin:15px auto 0;padding:12px;border:1px solid rgba(232,189,69,.36);border-radius:9px;background:rgba(226,177,46,.10);color:#d7d7d7;font-size:.7rem}.jc-booking-step[data-panel="5"]>.jc-step-count,.jc-booking-step[data-panel="5"]>h2,.jc-booking-step[data-panel="5"]>p{text-align:center}

/* Center Continue / Review buttons. Back remains aligned left. */
.jc-booking-actions{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:150px 1fr 150px;align-items:center;padding:15px 22px;border-top:1px solid rgba(229,181,55,.26);background:rgba(0,0,0,.22)}
.jc-back-btn,.jc-continue-btn{height:44px;border-radius:8px;font-weight:850;letter-spacing:.04em;cursor:pointer}.jc-back-btn{grid-column:1;width:140px;border:1px solid rgba(229,181,55,.55);background:rgba(8,8,8,.85);color:#fff}.jc-continue-btn,.jc-submit-btn{grid-column:2;justify-self:center;width:min(330px,100%);border:0;background:linear-gradient(100deg,#f0ce69,#d79b1d);color:#111;box-shadow:0 7px 24px rgba(212,153,26,.22)}.jc-submit-btn{display:none}.jc-continue-btn:disabled{opacity:.45;cursor:not-allowed}

.jc-bottom-trust{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;padding:0 30px;color:#fff}.jc-bottom-trust>div{display:flex;justify-content:center;align-items:center;gap:10px;border-right:1px solid rgba(229,181,55,.22);font-size:.69rem}.jc-bottom-trust>div:last-child{border-right:0}.jc-bottom-trust b{display:block;color:#fff}.jc-bottom-trust>div:first-letter{color:var(--jc-gold-2)}

/* Lower content remains translucent so both photographs stay visible to the footer. */
body.scene-booking .seo-section,
body.scene-booking .seo-section.seo-dark,
body.scene-booking #booking-expectations{background:rgba(3,3,3,.66)!important;border-top:1px solid rgba(226,181,60,.13);border-bottom:1px solid rgba(226,181,60,.12);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
body.scene-booking .seo-section .container{background:transparent!important}
body.scene-booking footer{background:rgba(2,2,2,.82)!important;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}

@media(max-width:920px){
  body.scene-booking::before,body.scene-booking::after{width:82vw;min-width:620px}
  .jc-booking-hero{margin-left:0}.jc-booking-panel{grid-template-columns:1fr;grid-template-rows:auto auto 76px}.jc-step-rail{grid-column:1;grid-row:1;display:flex;overflow-x:auto;padding:12px;border-right:0;border-bottom:1px solid rgba(229,181,55,.25)}.jc-step-link{min-width:154px;padding:8px}.jc-step-link::after,.jc-step-link small{display:none}.jc-step-content{grid-column:1;grid-row:2;padding:26px 20px}.jc-booking-actions{grid-row:3}.jc-calendar-layout{grid-template-columns:1fr}.jc-bottom-trust{grid-template-columns:repeat(2,1fr);gap:18px}.jc-bottom-trust>div:nth-child(2){border-right:0}
}
@media(max-width:620px){
  body.scene-booking::before{width:110vw;min-width:0;opacity:.72;background-position:42% center;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%)}
  body.scene-booking::after{width:110vw;min-width:0;opacity:.72;background-position:58% center;-webkit-mask-image:linear-gradient(0deg,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(0deg,#000 0%,#000 62%,transparent 100%)}
  .jc-booking-experience{padding-top:98px}.jc-booking-shell{width:calc(100% - 18px)}.jc-booking-hero h1{font-size:2.25rem}.jc-trust-row{gap:12px}.jc-trust-row>div{width:100%}.jc-service-grid,.jc-form-grid{grid-template-columns:1fr}.jc-form-grid .full{grid-column:auto}.jc-calendar-box,.jc-times-box{padding:17px}.cal-grid{gap:4px}.cal-day{font-size:.78rem}.jc-booking-actions{display:grid;grid-template-columns:104px 1fr;padding:12px;gap:10px}.jc-back-btn{grid-column:1;width:104px}.jc-continue-btn,.jc-submit-btn{grid-column:2;width:100%}.jc-bottom-trust{grid-template-columns:1fr 1fr;padding:0 5px}.jc-review-row{grid-template-columns:1fr;gap:4px}
}

/* RC93 — Increased background visibility and lighter translucent surfaces. */
body.scene-booking::before,
body.scene-booking::after{
  filter:brightness(.68) saturate(.94) contrast(1.02)!important;
}

.jc-booking-experience{
  background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.13))!important;
}

.jc-booking-panel{
  background:linear-gradient(145deg,rgba(4,4,4,.58),rgba(14,14,14,.46))!important;
  -webkit-backdrop-filter:blur(5px) saturate(1.04)!important;
  backdrop-filter:blur(5px) saturate(1.04)!important;
}

.jc-step-rail{
  background:rgba(0,0,0,.12)!important;
}

.jc-step-content{
  background:rgba(5,5,5,.04)!important;
}

.jc-service-grid button,
.fgroup input,
.fgroup select,
.fgroup textarea,
.jc-review-row,
.slot{
  background:rgba(15,15,15,.40)!important;
}

.jc-calendar-box,
.jc-times-box{
  background:linear-gradient(145deg,rgba(28,28,28,.58),rgba(12,12,12,.48))!important;
  -webkit-backdrop-filter:blur(3px)!important;
  backdrop-filter:blur(3px)!important;
}

.jc-booking-actions{
  background:rgba(0,0,0,.10)!important;
}

body.scene-booking .seo-section,
body.scene-booking .seo-section.seo-dark,
body.scene-booking #booking-expectations{
  background:rgba(3,3,3,.38)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  backdrop-filter:blur(2px)!important;
}

body.scene-booking .seo-section .seo-card,
body.scene-booking .seo-section .review-card,
body.scene-booking .seo-section .area-card,
body.scene-booking .seo-section .service-card,
body.scene-booking .seo-section .contact-card,
body.scene-booking #booking-expectations .card,
body.scene-booking #booking-expectations [class*="card"]{
  background:rgba(10,10,10,.38)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  backdrop-filter:blur(2px)!important;
}

body.scene-booking footer{
  background:rgba(2,2,2,.56)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  backdrop-filter:blur(3px)!important;
}

@media(max-width:620px){
  body.scene-booking::before,
  body.scene-booking::after{
    opacity:.88!important;
    filter:brightness(.72) saturate(.95) contrast(1.01)!important;
  }
  .jc-booking-panel{
    background:linear-gradient(145deg,rgba(4,4,4,.66),rgba(14,14,14,.54))!important;
  }
}

/* RC94 — 50% lighter surfaces + hard-centered primary booking actions. */
.jc-booking-panel{
  background:linear-gradient(145deg,rgba(4,4,4,.29),rgba(14,14,14,.23))!important;
  -webkit-backdrop-filter:blur(3px) saturate(1.02)!important;
  backdrop-filter:blur(3px) saturate(1.02)!important;
}
.jc-step-rail{background:rgba(0,0,0,.06)!important}
.jc-step-content{background:rgba(5,5,5,.02)!important}
.jc-service-grid button,
.fgroup input,
.fgroup select,
.fgroup textarea,
.jc-review-row,
.slot{background:rgba(15,15,15,.20)!important}
.jc-calendar-box,
.jc-times-box{
  background:linear-gradient(145deg,rgba(28,28,28,.29),rgba(12,12,12,.24))!important;
  -webkit-backdrop-filter:blur(2px)!important;
  backdrop-filter:blur(2px)!important;
}
.jc-booking-actions{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:80px!important;
  padding:15px 22px!important;
  background:rgba(0,0,0,.05)!important;
}
.jc-back-btn{
  position:absolute!important;
  left:22px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:140px!important;
  margin:0!important;
}
.jc-continue-btn,
.jc-submit-btn{
  position:static!important;
  transform:none!important;
  justify-self:auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(360px,calc(100% - 360px))!important;
  min-width:230px!important;
  max-width:360px!important;
  margin:0 auto!important;
  padding:0 24px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  text-align:center!important;
}
body.scene-booking .seo-section,
body.scene-booking .seo-section.seo-dark,
body.scene-booking #booking-expectations{
  background:rgba(3,3,3,.19)!important;
  -webkit-backdrop-filter:blur(1px)!important;
  backdrop-filter:blur(1px)!important;
}
body.scene-booking .seo-section .seo-card,
body.scene-booking .seo-section .review-card,
body.scene-booking .seo-section .area-card,
body.scene-booking .seo-section .service-card,
body.scene-booking .seo-section .contact-card,
body.scene-booking #booking-expectations .card,
body.scene-booking #booking-expectations [class*="card"]{
  background:rgba(10,10,10,.19)!important;
  -webkit-backdrop-filter:blur(1px)!important;
  backdrop-filter:blur(1px)!important;
}
body.scene-booking footer{
  background:rgba(2,2,2,.28)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  backdrop-filter:blur(2px)!important;
}
/* Preserve readability with the lighter glass. */
.jc-booking-panel,
body.scene-booking .seo-section,
body.scene-booking footer{text-shadow:0 1px 5px rgba(0,0,0,.88)}

@media(max-width:620px){
  .jc-booking-panel{
    background:linear-gradient(145deg,rgba(4,4,4,.34),rgba(14,14,14,.27))!important;
  }
  .jc-booking-actions{
    display:grid!important;
    grid-template-columns:104px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:72px!important;
    padding:12px!important;
  }
  .jc-back-btn{
    position:static!important;
    transform:none!important;
    grid-column:1!important;
    width:104px!important;
  }
  .jc-continue-btn,
  .jc-submit-btn{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:0 12px!important;
    font-size:.72rem!important;
  }
}

/* RC111 — clearer Book a Service background */
body.scene-booking::before,
body.scene-booking::after{display:none!important}
body.scene-booking .jc-booking-experience{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(0,0,0,.32) 0%,rgba(0,0,0,.19) 46%,rgba(0,0,0,.30) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.22) 78%,rgba(0,0,0,.48) 100%),
    url('../images/brand-scenes/booking-installation-final.png') center 24% / cover no-repeat!important;
}
body.scene-booking .jc-booking-experience::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 50% 18%,transparent 0 28%,rgba(0,0,0,.12) 68%,rgba(0,0,0,.32) 100%);
}
body.scene-booking .jc-booking-panel{
  background:linear-gradient(145deg,rgba(3,3,3,.74),rgba(13,13,13,.64))!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
@media(max-width:760px){
  body.scene-booking .jc-booking-experience{
    background-position:58% top!important;
  }
}

/* RC112 — Restore the approved two-photo Book a Service background only */
body.scene-booking{
  background:#050505!important;
}
body.scene-booking::before,
body.scene-booking::after{
  display:block!important;
  content:""!important;
  position:fixed!important;
  top:0!important;
  bottom:0!important;
  width:68vw!important;
  min-width:760px!important;
  height:100vh!important;
  z-index:-3!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  filter:brightness(.82) saturate(.98) contrast(1.03)!important;
  opacity:1!important;
}
body.scene-booking::before{
  left:0!important;
  right:auto!important;
  background-image:url('../images/brand-scenes/booking-van-final.png')!important;
  background-position:center center!important;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 55%,rgba(0,0,0,.96) 65%,rgba(0,0,0,.68) 80%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,#000 0%,#000 55%,rgba(0,0,0,.96) 65%,rgba(0,0,0,.68) 80%,transparent 100%)!important;
}
body.scene-booking::after{
  left:auto!important;
  right:0!important;
  background-image:url('../images/brand-scenes/booking-installation-final.png')!important;
  background-position:center center!important;
  -webkit-mask-image:linear-gradient(270deg,#000 0%,#000 55%,rgba(0,0,0,.96) 65%,rgba(0,0,0,.68) 80%,transparent 100%)!important;
  mask-image:linear-gradient(270deg,#000 0%,#000 55%,rgba(0,0,0,.96) 65%,rgba(0,0,0,.68) 80%,transparent 100%)!important;
}
body.scene-booking .jc-booking-experience{
  background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.24))!important;
}
body.scene-booking .jc-booking-experience::before,
body.scene-booking .jc-booking-experience::after{
  display:none!important;
}
body.scene-booking .seo-section,
body.scene-booking .seo-section.seo-dark,
body.scene-booking #booking-expectations{
  background:rgba(3,3,3,.36)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
  backdrop-filter:blur(1.5px)!important;
}
body.scene-booking footer{
  background:rgba(2,2,2,.58)!important;
  -webkit-backdrop-filter:blur(2px)!important;
  backdrop-filter:blur(2px)!important;
}
@media(max-width:760px){
  body.scene-booking::before,
  body.scene-booking::after{
    width:110vw!important;
    min-width:0!important;
    filter:brightness(.76) saturate(.96) contrast(1.03)!important;
  }
  body.scene-booking::before{
    background-position:42% center!important;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.55) 78%,transparent 100%)!important;
    mask-image:linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.55) 78%,transparent 100%)!important;
  }
  body.scene-booking::after{
    background-position:58% center!important;
    -webkit-mask-image:linear-gradient(0deg,#000 0%,#000 58%,rgba(0,0,0,.55) 78%,transparent 100%)!important;
    mask-image:linear-gradient(0deg,#000 0%,#000 58%,rgba(0,0,0,.55) 78%,transparent 100%)!important;
  }
}

/* RC113 — FULL-VISIBILITY BOOKING BACKGROUND
   Only the five-step booking panel keeps a light transparent contrast. */
body.scene-booking{
  background:#050505!important;
}

/* Keep both approved photos fully visible and softly blended from top to bottom. */
body.scene-booking::before,
body.scene-booking::after{
  display:block!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
body.scene-booking::before{
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 44%,rgba(0,0,0,.92) 53%,rgba(0,0,0,.42) 64%,transparent 76%)!important;
  mask-image:linear-gradient(180deg,#000 0%,#000 44%,rgba(0,0,0,.92) 53%,rgba(0,0,0,.42) 64%,transparent 76%)!important;
}
body.scene-booking::after{
  -webkit-mask-image:linear-gradient(0deg,#000 0%,#000 44%,rgba(0,0,0,.92) 53%,rgba(0,0,0,.42) 64%,transparent 76%)!important;
  mask-image:linear-gradient(0deg,#000 0%,#000 44%,rgba(0,0,0,.92) 53%,rgba(0,0,0,.42) 64%,transparent 76%)!important;
}

/* Remove every page-wide contrast layer. */
body.scene-booking .jc-booking-experience,
body.scene-booking .jc-booking-experience::before,
body.scene-booking .jc-booking-experience::after,
body.scene-booking .seo-section,
body.scene-booking .seo-section.seo-dark,
body.scene-booking #booking-expectations,
body.scene-booking footer{
  background:transparent!important;
  background-image:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

/* Headline and all lower-page content float directly over the photos. */
body.scene-booking .jc-booking-hero,
body.scene-booking .seo-section,
body.scene-booking #booking-expectations,
body.scene-booking footer{
  text-shadow:0 2px 7px rgba(0,0,0,.92),0 0 20px rgba(0,0,0,.55)!important;
}

/* Remove contrast boxes below the appointment form. */
body.scene-booking .seo-section .seo-card,
body.scene-booking .seo-section .review-card,
body.scene-booking .seo-section .area-card,
body.scene-booking .seo-section .service-card,
body.scene-booking .seo-section .contact-card,
body.scene-booking #booking-expectations .card,
body.scene-booking #booking-expectations [class*="card"],
body.scene-booking .booking-note,
body.scene-booking .notice-box,
body.scene-booking .connect-card,
body.scene-booking .cta-card{
  background:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}

/* The ONLY translucent contrast surface: the complete five-step booking panel. */
body.scene-booking .jc-booking-panel{
  background:rgba(7,7,7,.46)!important;
  border:1px solid rgba(229,181,55,.62)!important;
  -webkit-backdrop-filter:blur(4px)!important;
  backdrop-filter:blur(4px)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.25)!important;
}
body.scene-booking .jc-step-rail,
body.scene-booking .jc-step-content,
body.scene-booking .jc-booking-actions{
  background:transparent!important;
}

@media(max-width:700px){
  body.scene-booking::before,
  body.scene-booking::after{
    width:118vw!important;
    opacity:1!important;
    filter:none!important;
  }
  body.scene-booking .jc-booking-panel{
    background:rgba(7,7,7,.50)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    backdrop-filter:blur(3px)!important;
  }
}

/* RC114 — ZERO CONTRAST TEST
   Two full-width approved photos, vertically blended across the complete page.
   No dark overlays, translucent panels, blur surfaces, or contrast cards. */
html,
body.scene-booking{
  background:#050505!important;
}
body.scene-booking{
  position:relative!important;
  isolation:isolate!important;
}

/* Rebuild the background as two full-width layers spanning the full document. */
body.scene-booking::before,
body.scene-booking::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  min-width:0!important;
  pointer-events:none!important;
  z-index:-5!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
}
body.scene-booking::before{
  top:0!important;
  bottom:auto!important;
  height:58%!important;
  background-image:url('../images/brand-scenes/booking-van-final.png')!important;
  background-position:center top!important;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.92) 79%,rgba(0,0,0,.58) 89%,transparent 100%)!important;
  mask-image:linear-gradient(180deg,#000 0%,#000 70%,rgba(0,0,0,.92) 79%,rgba(0,0,0,.58) 89%,transparent 100%)!important;
}
body.scene-booking::after{
  top:42%!important;
  bottom:0!important;
  height:58%!important;
  background-image:url('../images/brand-scenes/booking-installation-final.png')!important;
  background-position:center bottom!important;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.58) 11%,rgba(0,0,0,.92) 21%,#000 30%,#000 100%)!important;
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.58) 11%,rgba(0,0,0,.92) 21%,#000 30%,#000 100%)!important;
}

/* Remove every page/content overlay or contrast surface. */
body.scene-booking .jc-booking-experience,
body.scene-booking .jc-booking-experience::before,
body.scene-booking .jc-booking-experience::after,
body.scene-booking #booking::before,
body.scene-booking #booking::after,
body.scene-booking .jc-booking-bg,
body.scene-booking .jc-booking-overlay,
body.scene-booking .jc-booking-panel,
body.scene-booking .jc-step-rail,
body.scene-booking .jc-step-content,
body.scene-booking .jc-booking-actions,
body.scene-booking .jc-calendar-box,
body.scene-booking .jc-times-box,
body.scene-booking .seo-section,
body.scene-booking .seo-section.seo-dark,
body.scene-booking #booking-expectations,
body.scene-booking .seo-section [class*="card"],
body.scene-booking #booking-expectations [class*="card"],
body.scene-booking .booking-note,
body.scene-booking .notice-box,
body.scene-booking .connect-card,
body.scene-booking .cta-card,
body.scene-booking footer{
  background:transparent!important;
  background-image:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}

/* Keep structure and gold outlines, but no filled contrast. */
body.scene-booking .jc-booking-panel{
  border:1px solid rgba(229,181,55,.72)!important;
}
body.scene-booking .jc-service-grid button,
body.scene-booking .fgroup input,
body.scene-booking .fgroup select,
body.scene-booking .fgroup textarea,
body.scene-booking .jc-review-row,
body.scene-booking .slot,
body.scene-booking .cal-nav,
body.scene-booking .bk-summary.show{
  background:transparent!important;
  background-image:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}

/* Remove artificial dark readability effects for this visual test. */
body.scene-booking .jc-booking-hero,
body.scene-booking .seo-section,
body.scene-booking #booking-expectations,
body.scene-booking footer,
body.scene-booking h1,
body.scene-booking h2,
body.scene-booking h3,
body.scene-booking p,
body.scene-booking li,
body.scene-booking span,
body.scene-booking small,
body.scene-booking b{
  text-shadow:none!important;
}

@media(max-width:760px){
  body.scene-booking::before{
    height:57%!important;
    background-position:center top!important;
  }
  body.scene-booking::after{
    top:43%!important;
    height:57%!important;
    background-position:center bottom!important;
  }
}

/* RC115 — wider photographic framing + transparent informational bullets.
   Keeps the RC114 full-page vertical blend, but zooms both approved images out
   so more of each original scene remains visible. */
body.scene-booking::before,
body.scene-booking::after{
  background-size:88% auto!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
}
body.scene-booking::before{
  background-position:center top!important;
}
body.scene-booking::after{
  background-position:center bottom!important;
}

/* Remove the remaining dark cards behind the informational bullet groups. */
body.scene-booking .seo-process,
body.scene-booking .policy-grid{
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.scene-booking .seo-process > div,
body.scene-booking .policy-grid > div,
body.scene-booking .notice-box,
body.scene-booking .booking-note{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

@media(max-width:760px){
  body.scene-booking::before,
  body.scene-booking::after{
    background-size:96% auto!important;
  }
}

/* RC117 — edge-to-edge booking photos with a gap-free center blend.
   Fixes the black side gutters and the dark seam between both approved images. */
html,
body.scene-booking{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  background:#050505!important;
  overflow-x:hidden!important;
}

body.scene-booking::before,
body.scene-booking::after{
  left:0!important;
  right:0!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-color:transparent!important;
  opacity:1!important;
  filter:none!important;
}

/* The top and bottom scenes overlap generously. Their masks are complementary,
   so the transition contains photographs at every point and never exposes black. */
body.scene-booking::before{
  top:0!important;
  height:62%!important;
  background-position:center top!important;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 76%,rgba(0,0,0,.96) 82%,rgba(0,0,0,.78) 88%,rgba(0,0,0,.42) 94%,transparent 100%)!important;
  mask-image:linear-gradient(180deg,#000 0%,#000 76%,rgba(0,0,0,.96) 82%,rgba(0,0,0,.78) 88%,rgba(0,0,0,.42) 94%,transparent 100%)!important;
}
body.scene-booking::after{
  top:38%!important;
  bottom:0!important;
  height:62%!important;
  background-position:center bottom!important;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.42) 6%,rgba(0,0,0,.78) 12%,rgba(0,0,0,.96) 18%,#000 24%,#000 100%)!important;
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.42) 6%,rgba(0,0,0,.78) 12%,rgba(0,0,0,.96) 18%,#000 24%,#000 100%)!important;
}

/* Prevent legacy section backgrounds from creating horizontal black bands. */
body.scene-booking main,
body.scene-booking .jc-booking-experience,
body.scene-booking .seo-section,
body.scene-booking .seo-section.seo-dark,
body.scene-booking #booking-expectations,
body.scene-booking footer{
  background-color:transparent!important;
  background-image:none!important;
}

@media(max-width:760px){
  body.scene-booking::before,
  body.scene-booking::after{
    width:100%!important;
    min-width:100%!important;
    background-size:cover!important;
  }
  body.scene-booking::before{
    height:62%!important;
    background-position:44% top!important;
  }
  body.scene-booking::after{
    top:38%!important;
    height:62%!important;
    background-position:58% bottom!important;
  }
}

/* RC118 — Split-screen full-height booking artwork.
   Desktop: van left, installer right, softly blended at center.
   Mobile: van top, installer bottom, softly blended vertically. */
body.scene-booking{
  background:#111!important;
}
body.scene-booking::before,
body.scene-booking::after{
  position:fixed!important;
  top:0!important;
  bottom:0!important;
  width:58vw!important;
  min-width:0!important;
  height:100vh!important;
  opacity:1!important;
  filter:brightness(.74) saturate(.98) contrast(1.01)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
body.scene-booking::before{
  left:0!important;
  right:auto!important;
  background-position:48% center!important;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 68%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.68) 88%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,#000 0%,#000 68%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.68) 88%,transparent 100%)!important;
}
body.scene-booking::after{
  left:auto!important;
  right:0!important;
  background-position:54% center!important;
  -webkit-mask-image:linear-gradient(270deg,#000 0%,#000 68%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.68) 88%,transparent 100%)!important;
  mask-image:linear-gradient(270deg,#000 0%,#000 68%,rgba(0,0,0,.96) 76%,rgba(0,0,0,.68) 88%,transparent 100%)!important;
}

@media(max-width:620px){
  body.scene-booking::before,
  body.scene-booking::after{
    left:0!important;
    right:0!important;
    width:100vw!important;
    min-width:0!important;
    height:58vh!important;
    background-size:cover!important;
    opacity:1!important;
    filter:brightness(.72) saturate(.98) contrast(1.01)!important;
  }
  body.scene-booking::before{
    top:0!important;
    bottom:auto!important;
    background-position:center 42%!important;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 68%,rgba(0,0,0,.94) 78%,rgba(0,0,0,.48) 90%,transparent 100%)!important;
    mask-image:linear-gradient(180deg,#000 0%,#000 68%,rgba(0,0,0,.94) 78%,rgba(0,0,0,.48) 90%,transparent 100%)!important;
  }
  body.scene-booking::after{
    top:auto!important;
    bottom:0!important;
    background-position:center 58%!important;
    -webkit-mask-image:linear-gradient(0deg,#000 0%,#000 68%,rgba(0,0,0,.94) 78%,rgba(0,0,0,.48) 90%,transparent 100%)!important;
    mask-image:linear-gradient(0deg,#000 0%,#000 68%,rgba(0,0,0,.94) 78%,rgba(0,0,0,.48) 90%,transparent 100%)!important;
  }
}
