.lllg-work,.lllg-work *,.lllg-gallery,.lllg-gallery * { box-sizing:border-box; }
.lllg-work { --lllg-orange:#ff7900; width:100%; padding:70px 24px; background:#f5f6f8; color:#171717; font-family:Arial,Helvetica,sans-serif; scroll-margin-top:140px; }
.lllg-work-container { width:100%; max-width:1180px; margin:0 auto; }
.lllg-work-heading { max-width:850px; margin:0 auto 38px; text-align:center; }
.lllg-work .lllg-work-eyebrow { margin:0 0 12px; color:#a34500; font-size:11px; font-weight:700; letter-spacing:2px; line-height:1.5; }
.lllg-work .lllg-work-title { margin:0 0 18px; padding:0; color:#171717; font:800 clamp(30px,3.5vw,42px)/1.15 Arial,Helvetica,sans-serif; letter-spacing:-1px; }
.lllg-work .lllg-work-description { margin:0; color:#5a6068; font-size:16px; line-height:1.8; }
.lllg-work .lllg-group-title,.lllg-gallery .lllg-group-title { margin:0 0 22px; color:#171717; font:700 26px/1.25 Arial,Helvetica,sans-serif; padding-left:14px; border-left:4px solid #ff7900; }
.lllg-project-group + .lllg-project-group,.lllg-work-group + .lllg-work-group { margin-top:44px; }
.lllg-gallery { color:#171717; font-family:Arial,Helvetica,sans-serif; }
.lllg-gallery .lllg-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.lllg-gallery .lllg-project-card { min-width:0; overflow:hidden; background:#fff; border:1px solid #e1e3e7; border-radius:12px; box-shadow:0 8px 24px #00000005; }
.lllg-gallery .lllg-project-photo { position:relative; display:block; width:100%; aspect-ratio:3/2; overflow:hidden; background:#e3e5e8; text-decoration:none; color:#fff; }
.lllg-gallery .lllg-project-photo img { display:block; width:100%; height:100%; object-fit:cover; margin:0; border:0; border-radius:0; transition:transform .3s ease; }
.lllg-gallery .lllg-project-photo:hover img { transform:scale(1.035); }
.lllg-gallery .lllg-project-badge { position:absolute; left:14px; bottom:14px; padding:6px 10px; background:#111d; color:#fff; border-radius:4px; font-size:12px; font-weight:700; line-height:1.5; }
.lllg-gallery .lllg-project-enlarge { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:32px; height:32px; background:#111c; color:#fff; border-radius:50%; font-size:22px; line-height:1; }
.lllg-gallery .lllg-project-body { padding:20px; }
.lllg-gallery .lllg-stage-controls { display:flex; gap:6px; margin-bottom:18px; }
.lllg-gallery .lllg-stage-button { flex:1; min-width:0; min-height:42px; padding:8px 4px; border:1px solid #d9dce1; border-radius:4px; background:#fff; color:#444; font:600 11px/1.4 Arial,Helvetica,sans-serif; text-transform:none; letter-spacing:0; box-shadow:none; cursor:pointer; }
.lllg-gallery .lllg-stage-button[aria-pressed="true"],.lllg-gallery .lllg-stage-button:not(:disabled):hover { background:#ff7900; border-color:#ff7900; color:#111; }
.lllg-gallery .lllg-stage-button:disabled { color:#777; background:#f0f1f3; cursor:not-allowed; opacity:.65; }
.lllg-gallery .lllg-project-title { margin:0 0 7px; padding:0; color:#171717; font:700 19px/1.35 Arial,Helvetica,sans-serif; }
.lllg-gallery .lllg-project-location { margin:0; color:#626872; font-size:13px; line-height:1.6; }
.lllg-gallery .lllg-gallery-empty,.lllg-gallery .lllg-gallery-message { margin:0; padding:28px; background:#fff; border:1px solid #e1e3e7; border-radius:8px; color:#626872; font-size:14px; line-height:1.8; text-align:center; }
.lllg-gallery .lllg-gallery-retry { display:block; margin:14px auto 0; padding:10px 18px; border:0; border-radius:4px; background:#ff7900; color:#111; font-weight:700; cursor:pointer; }
.lllg-gallery a:focus-visible,.lllg-gallery button:focus-visible { outline:3px solid #b94e00; outline-offset:3px; }
.lllg-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
dialog.lllg-lightbox { position:fixed; inset:0; width:min(1100px,94vw); max-width:94vw; max-height:94vh; padding:52px 18px 18px; border:1px solid #444; border-radius:10px; background:#111; color:#fff; font-family:Arial,Helvetica,sans-serif; }
dialog.lllg-lightbox::backdrop { background:#000d; }
.lllg-lightbox .lllg-lightbox-image { display:block; max-width:100%; max-height:72vh; width:auto; height:auto; margin:auto; object-fit:contain; }
.lllg-lightbox .lllg-lightbox-caption { margin:15px 0 0; color:#fff; text-align:center; font-size:14px; line-height:1.6; }
.lllg-lightbox .lllg-lightbox-close { position:absolute; top:9px; right:12px; width:36px; height:36px; padding:0; border:1px solid #555; border-radius:5px; background:#222; color:#fff; font-size:24px; line-height:1; cursor:pointer; }
.lllg-lightbox .lllg-lightbox-close:focus-visible { outline:3px solid #ff7900; outline-offset:2px; }
@media(max-width:1024px) { .lllg-work { padding:56px 24px; } .lllg-gallery .lllg-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; } }
@media(max-width:700px) { .lllg-work { padding:46px 18px; } .lllg-work-heading { margin-bottom:30px; } .lllg-work .lllg-work-description { font-size:15px; } .lllg-gallery .lllg-project-grid { grid-template-columns:minmax(0,1fr); gap:22px; } .lllg-work .lllg-group-title,.lllg-gallery .lllg-group-title { font-size:24px; } .lllg-gallery .lllg-project-title,.lllg-gallery .lllg-project-location { text-align:center; } .lllg-gallery .lllg-stage-button { font-size:12px; min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .lllg-gallery * { transition:none!important; } .lllg-gallery .lllg-project-photo:hover img { transform:none; } }

.lllg-gallery .lllg-project-video video{width:100%;height:100%;object-fit:contain;background:#111;display:block}.lllg-gallery .lllg-project-body{padding:16px 20px}.lllg-gallery .lllg-project-photo:hover video{transform:none}

/* Horizontal carousels: independently scrollable within Roofing and Siding. */
.lllg-gallery .lllg-carousel { position:relative; padding:0 40px; min-width:0; }
.lllg-gallery .lllg-carousel .lllg-project-grid { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:none; scroll-behavior:smooth; padding:2px 1px 18px; }
.lllg-gallery .lllg-carousel .lllg-project-grid::-webkit-scrollbar { display:none; }
.lllg-gallery .lllg-carousel .lllg-project-card { flex:0 0 calc((100% - 48px)/3); scroll-snap-align:start; }
.lllg-gallery .lllg-carousel-arrow { position:absolute; z-index:2; top:35%; transform:translateY(-50%); width:36px; height:48px; padding:0; display:grid; place-items:center; border:0; border-radius:5px; background:#ff7900; color:#151515; font:700 34px/1 Arial,sans-serif; cursor:pointer; box-shadow:0 2px 8px #0002; }
.lllg-gallery .lllg-carousel-prev { left:0; }
.lllg-gallery .lllg-carousel-next { right:0; }
.lllg-gallery .lllg-carousel-arrow:disabled { opacity:.3; cursor:default; }
.lllg-gallery .lllg-project-video { cursor:zoom-in; }
.lllg-gallery .lllg-project-video video { pointer-events:none; object-fit:cover; }
.lllg-lightbox .lllg-lightbox-viewer { display:flex; align-items:center; justify-content:center; min-height:100px; }
.lllg-lightbox .lllg-lightbox-video { display:block; max-width:100%; width:auto; height:auto; max-height:75vh; background:#000; }
dialog.lllg-lightbox { width:min(1300px,96vw); max-width:96vw; max-height:96vh; padding:46px 56px 18px; }
.lllg-lightbox .lllg-lightbox-image { max-height:78vh; }
.lllg-lightbox .lllg-lightbox-prev,.lllg-lightbox .lllg-lightbox-next { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:54px; padding:0; border:0; border-radius:5px; background:#333e; color:#fff; font:36px/1 Arial,sans-serif; cursor:pointer; }
.lllg-lightbox .lllg-lightbox-prev { left:7px; }
.lllg-lightbox .lllg-lightbox-next { right:7px; }
.lllg-lightbox [hidden] { display:none!important; }
@media(max-width:1024px) { .lllg-gallery .lllg-carousel .lllg-project-card { flex-basis:calc((100% - 24px)/2); } }
@media(max-width:700px) { .lllg-gallery .lllg-carousel { padding:0 30px; } .lllg-gallery .lllg-carousel .lllg-project-card { flex-basis:100%; } .lllg-gallery .lllg-carousel .lllg-project-grid { gap:16px; } .lllg-gallery .lllg-carousel-arrow { width:27px; height:42px; font-size:28px; } dialog.lllg-lightbox { padding:46px 35px 18px; } .lllg-lightbox .lllg-lightbox-prev,.lllg-lightbox .lllg-lightbox-next { width:29px; } }
@media(prefers-reduced-motion:reduce) { .lllg-gallery .lllg-carousel .lllg-project-grid { scroll-behavior:auto; } }

/* La Lider brand states: orange #ff7900, black #111, white #fff. */
.lllg-gallery .lllg-project-card { transition:border-color .2s ease,box-shadow .2s ease; }
.lllg-gallery .lllg-project-card:hover,
.lllg-gallery .lllg-project-card:focus-within { border-color:#ff7900; box-shadow:0 8px 24px #00000017; }
.lllg-gallery .lllg-project-photo:hover .lllg-project-enlarge,
.lllg-gallery .lllg-project-photo:focus-visible .lllg-project-enlarge { background:#ff7900; color:#111; }
.lllg-gallery .lllg-project-photo:active .lllg-project-enlarge { background:#111; color:#ff7900; }
.lllg-gallery .lllg-project-badge { background:#111; color:#fff; }
.lllg-gallery .lllg-project-photo:hover .lllg-project-badge,
.lllg-gallery .lllg-project-photo:focus-visible .lllg-project-badge { background:#ff7900; color:#111; }
.lllg-gallery .lllg-carousel-arrow:not(:disabled):is(:hover,:focus-visible),
.lllg-gallery .lllg-gallery-retry:is(:hover,:focus-visible) { background:#111; border-color:#ff7900; color:#ff7900; }
.lllg-gallery .lllg-carousel-arrow:not(:disabled):active,
.lllg-gallery .lllg-gallery-retry:active { background:#ff7900; color:#111; }
.lllg-gallery .lllg-stage-button:not(:disabled):is(:hover,:focus-visible),
.lllg-gallery .lllg-stage-button[aria-pressed="true"] { background:#ff7900; border-color:#ff7900; color:#111; }
.lllg-gallery :is(a,button):focus-visible { outline:3px solid #ff7900; outline-offset:3px; }
.lllg-lightbox :is(.lllg-lightbox-close,.lllg-lightbox-prev,.lllg-lightbox-next):is(:hover,:focus-visible) { background:#ff7900; border-color:#ff7900; color:#111; }
.lllg-lightbox :is(.lllg-lightbox-close,.lllg-lightbox-prev,.lllg-lightbox-next):active { background:#fff; border-color:#ff7900; color:#111; }
.lllg-lightbox :is(.lllg-lightbox-close,.lllg-lightbox-prev,.lllg-lightbox-next):focus-visible { outline:3px solid #ff7900; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .lllg-gallery .lllg-project-card { transition:none; } }

/* Logistics brand overrides: consistently orange, black and white, including Elementor active states. */
.lllg-gallery button:is(:hover,:active,:focus,:focus-visible),
.lllg-lightbox button:is(:hover,:active,:focus,:focus-visible),
.lllg-lightbox .lllg-lightbox-close,
.lllg-lightbox .lllg-lightbox-prev,
.lllg-lightbox .lllg-lightbox-next { background-color:#ff7900!important; border-color:#ff7900!important; color:#111!important; box-shadow:none!important; }
.lllg-lightbox button:focus-visible,.lllg-gallery button:focus-visible { outline:3px solid #ff7900!important; outline-offset:2px; }
.lllg-gallery .lllg-carousel-arrow:disabled { opacity:.4; cursor:not-allowed; }

/* Logistics dark theme and uniform square gallery — v1.1.0 */
.lllg-work { background:#000!important; color:#f7f7f7!important; }
.lllg-work .lllg-work-title,
.lllg-work .lllg-group-title,
.lllg-gallery .lllg-group-title { color:#fff!important; }
.lllg-work .lllg-work-description { color:#d0d0d0!important; }
.lllg-work .lllg-work-eyebrow { color:#ff7900!important; }
.lllg-gallery { background:#000!important; color:#fff!important; }
.lllg-gallery .lllg-project-card {
  background:#101010!important;
  border:1px solid #333!important;
  border-radius:8px;
  box-shadow:none!important;
}
.lllg-gallery .lllg-project-card:hover,
.lllg-gallery .lllg-project-card:focus-within { border-color:#ff7900!important; }
.lllg-gallery .lllg-project-photo {
  aspect-ratio:1 / 1!important;
  background:#111!important;
  height:auto!important;
}
.lllg-gallery .lllg-project-photo img,
.lllg-gallery .lllg-project-photo video {
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  aspect-ratio:1 / 1;
}
.lllg-gallery .lllg-project-body,
.lllg-gallery .lllg-project-title,
.lllg-gallery .lllg-project-location { display:none!important; }
.lllg-gallery .lllg-gallery-empty,
.lllg-gallery .lllg-gallery-message {
  background:#111!important;
  color:#eee!important;
  border-color:#333!important;
}
.lllg-gallery .lllg-carousel-arrow { top:50%!important; }
.lllg-gallery .lllg-carousel-arrow:not(:disabled):is(:hover,:focus-visible) {
  background:#ff7900!important; color:#111!important;
}
dialog.lllg-lightbox { background:#090909!important; color:#fff!important; border-color:#383838!important; }
.lllg-lightbox .lllg-lightbox-viewer { background:#090909; }
.lllg-lightbox .lllg-lightbox-image,
.lllg-lightbox .lllg-lightbox-video {
  max-width:100%!important;
  max-height:calc(96vh - 90px)!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.lllg-lightbox .lllg-lightbox-caption { display:none!important; }

/* Section heading matching La Lider site styling — v1.2.0. */
.lllg-work .lllg-work-heading {
  display:block!important; visibility:visible!important; opacity:1!important;
  max-width:960px; margin:0 auto 48px!important; text-align:center!important;
}
.lllg-work .lllg-work-eyebrow {
  display:flex!important; align-items:center; justify-content:center; gap:14px;
  color:#ff7900!important; font-size:14px!important; font-weight:800!important;
  letter-spacing:2px!important; text-transform:uppercase; line-height:1.5; margin:0 0 24px!important;
}
.lllg-work .lllg-work-eyebrow::before,
.lllg-work .lllg-work-eyebrow::after {
  content:""; display:block; width:35px; max-width:12%; height:3px; background:#ff7900;
}
.lllg-work .lllg-work-title {
  display:block!important; color:#fff!important;
  font-family:Arial,Helvetica,sans-serif!important; font-size:clamp(36px,5vw,66px)!important;
  line-height:1.1!important; font-weight:900!important; letter-spacing:-1.8px!important;
  text-transform:uppercase; margin:0 0 24px!important;
}
.lllg-work .lllg-work-title span { color:#ff7900!important; }
.lllg-work .lllg-work-description {
  display:block!important; color:#d0d0d0!important; font-size:clamp(15px,1.4vw,20px)!important;
  line-height:1.7!important; max-width:820px; margin:0 auto!important;
}
@media(max-width:700px) {
  .lllg-work .lllg-work-heading { margin-bottom:32px!important; }
  .lllg-work .lllg-work-title { letter-spacing:-.8px!important; }
  .lllg-work .lllg-work-eyebrow { font-size:11px!important; gap:10px; }
  .lllg-work .lllg-work-eyebrow::before,.lllg-work .lllg-work-eyebrow::after { width:24px; }
}

/* v1.3.0 — uniform 1:1 gallery, no per-file headings/captions. */
.lllg-gallery .lllg-project-card {
  display:block!important; padding:0!important; overflow:hidden!important;
  background:#101010!important; border:1px solid #333!important;
  border-radius:8px!important;
}
.lllg-gallery .lllg-project-photo {
  position:relative!important; display:block!important; width:100%!important;
  height:auto!important; aspect-ratio:1 / 1!important; overflow:hidden!important;
  background:#111!important; margin:0!important; padding:0!important;
}
.lllg-gallery .lllg-project-photo > img,
.lllg-gallery .lllg-project-photo > video {
  position:absolute!important; inset:0!important; display:block!important;
  width:100%!important; height:100%!important;
  object-fit:cover!important; object-position:center!important;
  border:0!important; margin:0!important; padding:0!important;
}
.lllg-gallery .lllg-project-body,
.lllg-gallery .lllg-project-title,
.lllg-gallery .lllg-project-location,
.lllg-gallery .lllg-project-caption,
.lllg-gallery .lllg-project-filename,
.lllg-gallery .lllg-project-badge,
.lllg-lightbox .lllg-lightbox-caption { display:none!important; }
.lllg-gallery .lllg-project-enlarge { z-index:2; }
.lllg-lightbox .lllg-lightbox-image,
.lllg-lightbox .lllg-lightbox-video {
  width:auto!important; height:auto!important; max-width:100%!important;
  max-height:calc(96dvh - 100px)!important; object-fit:contain!important;
}

/* v1.3.1 — strict 1:1 media tiles, no empty bands, including Elementor overrides. */
.lllg-gallery .lllg-carousel .lllg-project-grid {
  align-items:flex-start!important;
  align-content:flex-start!important;
  padding:2px 1px 3px!important;
  background:transparent!important;
}
.lllg-gallery .lllg-carousel .lllg-project-card {
  position:relative!important;
  display:block!important;
  align-self:flex-start!important;
  aspect-ratio:1 / 1!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #333!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#090909!important;
  box-shadow:none!important;
}
.lllg-gallery .lllg-carousel .lllg-project-card > .lllg-project-photo {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#090909!important;
}
.lllg-gallery .lllg-carousel .lllg-project-photo > img,
.lllg-gallery .lllg-carousel .lllg-project-photo > video {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:#090909!important;
}
.lllg-gallery .lllg-project-body,
.lllg-gallery .lllg-project-badge,
.lllg-gallery .lllg-project-caption,
.lllg-gallery .lllg-project-title,
.lllg-gallery .lllg-project-location { display:none!important; }
.lllg-gallery .lllg-project-enlarge { z-index:3; }
.lllg-gallery .lllg-carousel-arrow { top:50%!important; }
/* The viewer deliberately shows the ORIGINAL image/video without cropping. */
dialog.lllg-lightbox .lllg-lightbox-image,
dialog.lllg-lightbox .lllg-lightbox-video {
  display:block!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(96dvh - 100px)!important;
  object-fit:contain!important;
  background:#090909!important;
}
