/* Page-specific refinements for product-lighting-structures.html */
.lighting-page .ps-hero--contain .ps-hero__media{
  object-position:center 58%;
  transform:translateY(28px);
}

.lighting-gallery{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(3,210px);
  gap:14px;
}
.lighting-gallery__item{
  position:relative;
  grid-column:span 3;
  overflow:hidden;
  min-width:0;
  padding:0;
  border:0;
  border-radius:18px;
  background:#dce6ef;
  cursor:zoom-in;
  box-shadow:0 12px 30px rgba(11,31,58,.08);
}
.lighting-gallery__item--feature{grid-column:1/7;grid-row:1/3}
.lighting-gallery__item--tall{grid-column:7/10;grid-row:1/3}
.lighting-gallery__item:nth-child(3){grid-column:10/13;grid-row:1}
.lighting-gallery__item:nth-child(4){grid-column:10/13;grid-row:2}
.lighting-gallery__item:nth-child(5){grid-column:1/5;grid-row:3}
.lighting-gallery__item--wide{grid-column:5/13;grid-row:3}
.lighting-gallery__item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease,filter .4s ease;
}
.lighting-gallery__item:after{
  content:"";
  position:absolute;
  inset:38% 0 0;
  background:linear-gradient(180deg,transparent,rgba(4,16,31,.9));
  pointer-events:none;
}
.lighting-gallery__item span{
  position:absolute;
  z-index:1;
  right:18px;
  bottom:17px;
  left:18px;
  color:#fff;
  font-size:15px;
  font-weight:850;
  line-height:1.25;
  text-align:left;
}
.lighting-gallery__item small{
  display:block;
  margin-bottom:5px;
  color:#91c8ff;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.lighting-gallery__item:hover img,.lighting-gallery__item:focus-visible img{transform:scale(1.045);filter:saturate(1.08)}
.lighting-gallery__item:focus-visible{outline:3px solid #0767e9;outline-offset:3px}

.lighting-request-section{background:#f5f8fc}
.lighting-request{
  max-width:1080px;
  margin:0 auto;
  padding:34px;
  border:1px solid #d8e3ee;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 45px rgba(11,31,58,.08);
}
.lighting-request__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.75fr);
  gap:36px;
  align-items:end;
  margin-bottom:24px;
}
.lighting-request__head h2{margin:7px 0 0;font-size:clamp(32px,3.8vw,48px);line-height:1.05;letter-spacing:-.035em}
.lighting-request__head>p{margin:0;color:#607188;line-height:1.65}
.lighting-request__form{display:grid;gap:16px}
.lighting-form-group{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  min-width:0;
  margin:0;
  padding:19px;
  border:1px solid #dbe5ef;
  border-radius:15px;
  background:#fbfdff;
}
.lighting-form-group legend{
  padding:0 8px;
  color:#0b1f3a;
  font-size:13px;
  font-weight:900;
}
.lighting-request .ps-field{min-width:0;gap:6px;font-size:12px}
.lighting-request .ps-field input,.lighting-request .ps-field select,.lighting-request .ps-field textarea{
  min-height:44px;
  padding:10px 12px;
  border-radius:8px;
  font-size:14px;
  font-weight:600;
}
.lighting-request .ps-field textarea{min-height:82px}
.lighting-request__more{
  border:1px solid #dbe5ef;
  border-radius:13px;
  background:#fff;
}
.lighting-request__more summary{
  position:relative;
  padding:15px 48px 15px 18px;
  color:#0b1f3a;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  list-style:none;
}
.lighting-request__more summary::-webkit-details-marker{display:none}
.lighting-request__more summary:after{
  content:"+";
  position:absolute;
  top:50%;
  right:18px;
  display:grid;
  width:25px;
  height:25px;
  place-items:center;
  border-radius:50%;
  color:#0767e9;
  background:#eaf4ff;
  transform:translateY(-50%);
}
.lighting-request__more[open] summary:after{content:"−"}
.lighting-request__more-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:0 18px 18px;
}
.lighting-upload{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:15px 17px;
  border:1px dashed #9fb4c9;
  border-radius:12px;
  background:#f7fbff;
  color:#0b1f3a;
}
.lighting-upload span{display:grid;gap:3px}
.lighting-upload strong{font-size:13px}
.lighting-upload small{color:#6b7b8f;font-size:11px;line-height:1.4}
.lighting-upload input{max-width:320px;font-size:12px}
.lighting-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:2px}
.lighting-consent{display:flex;align-items:flex-start;gap:9px;color:#52647a;font-size:12px;font-weight:700;line-height:1.45}
.lighting-consent input{flex:0 0 18px;width:18px!important;height:18px;min-height:18px!important;margin:0;padding:0}
.lighting-consent a{color:#0767e9}
.lighting-form-footer .btn{min-width:190px;justify-content:center}
.lighting-request .ps-form-status{min-height:20px;margin:0;font-size:13px}

.lighting-faq{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:60px;align-items:start}
.lighting-faq__head{position:sticky;top:165px}
.lighting-faq__head h2{margin:8px 0 14px;font-size:clamp(32px,3.8vw,49px);line-height:1.08;letter-spacing:-.035em}
.lighting-faq__head p{margin:0;color:#607188;line-height:1.65}
.lighting-faq__list{display:grid;gap:10px}
.lighting-faq__list details{border:1px solid #d9e4ee;border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(11,31,58,.035)}
.lighting-faq__list summary{position:relative;padding:19px 54px 19px 20px;color:#0b1f3a;font-weight:850;line-height:1.4;cursor:pointer;list-style:none}
.lighting-faq__list summary::-webkit-details-marker{display:none}
.lighting-faq__list summary:after{content:"+";position:absolute;top:50%;right:19px;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#0767e9;background:#eaf4ff;transform:translateY(-50%)}
.lighting-faq__list details[open] summary:after{content:"−"}
.lighting-faq__list p{margin:0;padding:0 54px 20px 20px;color:#607188;line-height:1.7}

.lighting-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.lighting-service-card{
  position:relative;
  min-height:330px;
  overflow:hidden;
  border-radius:18px;
  color:#fff;
  background:#0b203a;
  text-decoration:none;
  box-shadow:0 16px 35px rgba(11,31,58,.12);
}
.lighting-service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,17,32,.05) 25%,rgba(5,17,32,.93) 100%)}
.lighting-service-card img{width:100%;height:100%;object-fit:cover;transition:transform .38s ease}
.lighting-service-card>span{position:absolute;z-index:1;right:20px;bottom:20px;left:20px;display:grid;gap:6px}
.lighting-service-card small{color:#8ac5ff;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.lighting-service-card strong{color:#fff;font-size:22px;line-height:1.15}
.lighting-service-card em{color:rgba(255,255,255,.72);font-size:13px;font-style:normal;line-height:1.5}
.lighting-service-card:hover img,.lighting-service-card:focus-visible img{transform:scale(1.05)}
.lighting-service-card:focus-visible{outline:3px solid #0767e9;outline-offset:3px}

.lighting-final-cta{padding:74px 0;background:#0b203a;color:#fff}
.lighting-final-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:50px}
.lighting-final-cta .eyebrow{color:#83c2ff}
.lighting-final-cta h2{max-width:820px;margin:8px 0 12px;color:#fff;font-size:clamp(34px,4.2vw,56px);line-height:1.04;letter-spacing:-.04em}
.lighting-final-cta p{max-width:760px;margin:0;color:rgba(255,255,255,.7);font-size:16px;line-height:1.65}
.lighting-final-cta .btn{flex:0 0 auto;min-width:220px;justify-content:center}

@media(max-width:1120px){
  .lighting-gallery{grid-template-rows:repeat(3,190px)}
  .lighting-services{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lighting-service-card{min-height:300px}
}
@media(max-width:860px){
  .lighting-page .ps-hero--contain .ps-hero__media{transform:translateY(16px);object-position:center 56%}
  .lighting-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,240px)}
  .lighting-gallery__item,.lighting-gallery__item--feature,.lighting-gallery__item--tall,.lighting-gallery__item:nth-child(3),.lighting-gallery__item:nth-child(4),.lighting-gallery__item:nth-child(5),.lighting-gallery__item--wide{grid-column:auto;grid-row:auto}
  .lighting-request{padding:26px}
  .lighting-request__head,.lighting-faq{grid-template-columns:1fr;gap:24px}
  .lighting-faq__head{position:static}
  .lighting-form-group{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lighting-final-cta__inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
  .lighting-page .ps-hero--contain .ps-hero__media{transform:translateY(10px)}
  .lighting-gallery{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory}
  .lighting-gallery__item,.lighting-gallery__item--feature,.lighting-gallery__item--tall,.lighting-gallery__item--wide{flex:0 0 86%;height:285px;scroll-snap-align:start}
  .lighting-request{padding:20px;border-radius:17px}
  .lighting-request__head{gap:12px;margin-bottom:18px}
  .lighting-form-group,.lighting-request__more-grid{grid-template-columns:1fr;padding:15px}
  .lighting-request__more-grid{padding-top:0}
  .lighting-upload,.lighting-form-footer{align-items:stretch;flex-direction:column}
  .lighting-upload input{max-width:100%}
  .lighting-form-footer .btn{width:100%}
  .lighting-services{grid-template-columns:1fr}
  .lighting-service-card{min-height:290px}
  .lighting-final-cta{padding:58px 0}
  .lighting-final-cta .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .lighting-gallery__item img,.lighting-service-card img{transition:none!important}
}
