/* RC39 — JC Appliance branded scene backgrounds
   Visual-only layer. No booking/admin/business logic changed. */

:root{--scene-overlay:linear-gradient(90deg,rgba(3,3,3,.92) 0%,rgba(3,3,3,.76) 44%,rgba(3,3,3,.38) 72%,rgba(3,3,3,.20) 100%);}

body[class*="scene-"]{background-color:#060606;background-attachment:fixed;background-size:cover;background-position:center;}
body[class*="scene-"]::before{content:"";position:fixed;inset:0;z-index:-2;background-size:cover;background-position:center;background-repeat:no-repeat;filter:saturate(.86) contrast(1.05);}
body[class*="scene-"]::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.46),rgba(0,0,0,.78));pointer-events:none;}

.scene-home::before,.scene-admin::before{background-image:url('../images/brand-scenes/company-building.webp');}
.scene-services::before{background-image:url('../images/brand-scenes/services-installers.webp');}
.scene-gallery::before{background-image:url('../images/brand-scenes/gallery-van.webp');}
.scene-about::before{background-image:url('../images/brand-scenes/about-team-meeting.webp');}
.scene-areas::before{background-image:url('../images/brand-scenes/areas-gps-van.webp');}
.scene-reviews::before{background-image:url('../images/brand-scenes/reviews-handshake.webp');}
.scene-booking::before{background-image:url('../images/brand-scenes/booking-van-final.png');}
.scene-contact::before{background-image:url('../images/brand-scenes/contact-secretary.webp');}

/* Page entrances: clear branded photo, readable copy */
.scene-home .hero,.scene-services #services,.scene-gallery .pub-gallery-section,.scene-about #about,.scene-areas main>.hero,.scene-reviews #reviews,.scene-booking #booking,.scene-contact #contact{position:relative;isolation:isolate;background:transparent!important;min-height:68vh;display:flex;align-items:center;}
.scene-home .hero::before,.scene-services #services::before,.scene-gallery .pub-gallery-section::before,.scene-about #about::before,.scene-areas main>.hero::before,.scene-reviews #reviews::before,.scene-booking #booking::before,.scene-contact #contact::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;background-repeat:no-repeat;}
.scene-home .hero::after,.scene-services #services::after,.scene-gallery .pub-gallery-section::after,.scene-about #about::after,.scene-areas main>.hero::after,.scene-reviews #reviews::after,.scene-booking #booking::after,.scene-contact #contact::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--scene-overlay);}
.scene-home .hero::before{background-image:url('../images/brand-scenes/company-building.webp');}
.scene-services #services::before{background-image:url('../images/brand-scenes/services-installers.webp');}
.scene-gallery .pub-gallery-section::before{background-image:url('../images/brand-scenes/gallery-van.webp');}
.scene-about #about::before{background-image:url('../images/brand-scenes/about-team-meeting.webp');}
.scene-areas main>.hero::before{background-image:url('../images/brand-scenes/areas-gps-van.webp');}
.scene-reviews #reviews::before{background-image:url('../images/brand-scenes/reviews-handshake.webp');}
.scene-booking #booking::before{background-image:url('../images/brand-scenes/booking-van-final.png');}
.scene-contact #contact::before{background-image:url('../images/brand-scenes/contact-secretary.webp');}

/* Premium glass panels over photography */
.scene-home .hero .container,.scene-services #services>.container,.scene-gallery .pub-gallery-section>.container,.scene-about #about>.container,.scene-areas main>.hero .container,.scene-reviews #reviews>.container,.scene-booking #booking>.container,.scene-contact #contact>.container{position:relative;}
.scene-home .hero-content,.scene-services #services>.container,.scene-gallery .pub-gallery-section>.container,.scene-about #about .about-inner,.scene-areas main>.hero .container,.scene-reviews #reviews>.container,.scene-booking #booking>.container,.scene-contact #contact>.container{background:rgba(8,8,8,.64);border:1px solid rgba(212,168,70,.30);box-shadow:0 24px 70px rgba(0,0,0,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:22px;padding:clamp(1.35rem,3vw,3rem);}

/* Admin/dashboard: same building identity, but stronger darkening for usability */
.scene-admin::after{background:linear-gradient(180deg,rgba(2,2,2,.79),rgba(2,2,2,.90));}
.scene-admin .admin-shell,.scene-admin .app-shell,.scene-admin main,.scene-admin .dashboard{background-color:transparent!important;}
.scene-admin .card,.scene-admin .panel,.scene-admin .modal-content,.scene-admin table,.scene-admin .stat-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}

/* Keep later sections calm and readable */
body[class*="scene-"] section:not(.hero):not(#services):not(.pub-gallery-section):not(#about):not(#reviews):not(#booking):not(#contact){background-color:rgba(6,6,6,.90);} 
.scene-areas main>.section{background-color:rgba(6,6,6,.90)!important;}

@media(max-width:760px){
  :root{--scene-overlay:linear-gradient(180deg,rgba(2,2,2,.62),rgba(2,2,2,.90));}
  body[class*="scene-"]::before{background-position:center;}
  .scene-home .hero,.scene-services #services,.scene-gallery .pub-gallery-section,.scene-about #about,.scene-areas main>.hero,.scene-reviews #reviews,.scene-booking #booking,.scene-contact #contact{min-height:58vh;}
  .scene-home .hero-content,.scene-services #services>.container,.scene-gallery .pub-gallery-section>.container,.scene-about #about .about-inner,.scene-areas main>.hero .container,.scene-reviews #reviews>.container,.scene-booking #booking>.container,.scene-contact #contact>.container{border-radius:16px;padding:1.15rem;}
}

@media(prefers-reduced-motion:reduce){body[class*="scene-"]{background-attachment:scroll;}}

/* RC40 visibility tune — show the branded photography more clearly on key pages */
.scene-services #services::after,
.scene-areas main>.hero::after,
.scene-booking #booking::after,
.scene-contact #contact::after{
  background:linear-gradient(90deg,rgba(2,2,2,.58) 0%,rgba(2,2,2,.34) 48%,rgba(2,2,2,.10) 100%);
}

.scene-services #services>.container,
.scene-areas main>.hero .container,
.scene-booking #booking>.container,
.scene-contact #contact>.container{
  background:linear-gradient(135deg,rgba(7,7,7,.48),rgba(7,7,7,.24));
  border-color:rgba(232,190,92,.42);
  box-shadow:0 20px 54px rgba(0,0,0,.35);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  max-width:min(1180px,92vw);
}

.scene-services #services,
.scene-areas main>.hero,
.scene-booking #booking,
.scene-contact #contact{
  min-height:78vh;
  background-position:center!important;
}

.scene-services #services::before{background-position:center center;}
.scene-areas main>.hero::before{background-position:center center;}
.scene-booking #booking::before{background-position:center center;}
.scene-contact #contact::before{background-position:center center;}

.scene-services #services h1,.scene-services #services h2,.scene-services #services h3,
.scene-areas main>.hero h1,.scene-areas main>.hero h2,.scene-areas main>.hero h3,
.scene-booking #booking h1,.scene-booking #booking h2,.scene-booking #booking h3,
.scene-contact #contact h1,.scene-contact #contact h2,.scene-contact #contact h3,
.scene-services #services p,.scene-areas main>.hero p,.scene-booking #booking p,.scene-contact #contact p{
  text-shadow:0 2px 12px rgba(0,0,0,.88);
}

@media(max-width:760px){
  .scene-services #services::after,
  .scene-areas main>.hero::after,
  .scene-booking #booking::after,
  .scene-contact #contact::after{
    background:linear-gradient(180deg,rgba(2,2,2,.38) 0%,rgba(2,2,2,.56) 58%,rgba(2,2,2,.76) 100%);
  }
  .scene-services #services>.container,
  .scene-areas main>.hero .container,
  .scene-booking #booking>.container,
  .scene-contact #contact>.container{
    background:rgba(7,7,7,.43);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
  }
  .scene-services #services,
  .scene-areas main>.hero,
  .scene-booking #booking,
  .scene-contact #contact{min-height:72vh;}
}

/* RC41 — persistent full-page branded photography
   Keeps each assigned image visible throughout the full page scroll. */
body[class*="scene-"]{
  background:#050505!important;
}
body[class*="scene-"]::before{
  filter:saturate(1.02) contrast(1.03) brightness(.92);
  transform:translateZ(0);
}
body[class*="scene-"]::after{
  background:linear-gradient(180deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.34) 45%,rgba(0,0,0,.42) 100%);
}

/* Remove opaque section blocks that previously hid the fixed scene. */
body[class*="scene-"] main,
body[class*="scene-"] section,
body[class*="scene-"] footer,
body[class*="scene-"] .seo-section,
body[class*="scene-"] .seo-dark,
body[class*="scene-"] .section,
body[class*="scene-"] .pub-gallery-section{
  background-color:transparent!important;
  background-image:none!important;
}
body[class*="scene-"] section:not(.hero):not(#services):not(.pub-gallery-section):not(#about):not(#reviews):not(#booking):not(#contact),
.scene-areas main>.section{
  background:linear-gradient(180deg,rgba(5,5,5,.30),rgba(5,5,5,.42))!important;
}

/* Content remains readable while allowing the image to remain obvious. */
body[class*="scene-"] .card,
body[class*="scene-"] .service-card,
body[class*="scene-"] .review-card,
body[class*="scene-"] .area-card,
body[class*="scene-"] .seo-card,
body[class*="scene-"] .contact-card,
body[class*="scene-"] .booking-wrap,
body[class*="scene-"] .faq-item,
body[class*="scene-"] .gallery-card,
body[class*="scene-"] .about-card,
body[class*="scene-"] .panel{
  background:linear-gradient(145deg,rgba(8,8,8,.66),rgba(8,8,8,.46))!important;
  border-color:rgba(224,180,78,.34)!important;
  box-shadow:0 16px 46px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

/* Entrance panels are lighter on every public page. */
.scene-home .hero-content,
.scene-services #services>.container,
.scene-gallery .pub-gallery-section>.container,
.scene-about #about .about-inner,
.scene-areas main>.hero .container,
.scene-reviews #reviews>.container,
.scene-booking #booking>.container,
.scene-contact #contact>.container{
  background:linear-gradient(135deg,rgba(7,7,7,.46),rgba(7,7,7,.22))!important;
  backdrop-filter:blur(2px)!important;
  -webkit-backdrop-filter:blur(2px)!important;
}
.scene-home .hero::after,
.scene-services #services::after,
.scene-gallery .pub-gallery-section::after,
.scene-about #about::after,
.scene-areas main>.hero::after,
.scene-reviews #reviews::after,
.scene-booking #booking::after,
.scene-contact #contact::after{
  background:linear-gradient(90deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.22) 52%,rgba(0,0,0,.06) 100%)!important;
}

/* Admin uses the same persistent image but remains slightly darker for data entry. */
.scene-admin::after{
  background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.62))!important;
}
.scene-admin main,.scene-admin section,.scene-admin .dashboard{
  background:transparent!important;
}

@media(max-width:760px){
  body[class*="scene-"]::before{
    background-position:center center;
    filter:saturate(1.02) contrast(1.02) brightness(.88);
  }
  body[class*="scene-"]::after{
    background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.42));
  }
  body[class*="scene-"] section:not(.hero):not(#services):not(.pub-gallery-section):not(#about):not(#reviews):not(#booking):not(#contact),
  .scene-areas main>.section{
    background:linear-gradient(180deg,rgba(5,5,5,.34),rgba(5,5,5,.48))!important;
  }
  .scene-home .hero::after,
  .scene-services #services::after,
  .scene-gallery .pub-gallery-section::after,
  .scene-about #about::after,
  .scene-areas main>.hero::after,
  .scene-reviews #reviews::after,
  .scene-booking #booking::after,
  .scene-contact #contact::after{
    background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.48))!important;
  }
}
