.csjlv-widget-admin{max-width:1450px}.csjlv-widget-admin .csjlv-preview-options{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:24px 0}.csjlv-preview-options label{display:grid;gap:5px;font-weight:600}.csjlv-preview-options input[type=number]{width:80px}.csjlv-preview-canvas{width:100%;max-width:1400px;transition:max-width .2s ease}.csjlv-preview-canvas[data-width=phone]{max-width:390px}.csjlv-widget{--csjlv-blue:#0866d9;--csjlv-navy:#102d4b;--csjlv-gray:#53667b;--csjlv-border:#dce5ef;container:csjlv-widget/inline-size;background:#f2f7fc;border:1px solid #e0e9f3;border-radius:16px;padding:28px;box-sizing:border-box;color:var(--csjlv-navy);font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.csjlv-widget *{box-sizing:border-box}.csjlv-widget-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.csjlv-widget .csjlv-eyebrow{font-size:11px;font-weight:750;letter-spacing:.13em;color:var(--csjlv-blue)}.csjlv-widget-heading h2{font-size:clamp(23px,3vw,32px);line-height:1.2;color:var(--csjlv-navy);margin:8px 0}.csjlv-widget-heading p{color:var(--csjlv-gray);margin:0}.csjlv-carousel-controls{display:flex;gap:8px;flex-shrink:0}.csjlv-carousel-controls button{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid #bdd2e7;background:white;color:var(--csjlv-blue);font-size:21px;cursor:pointer}.csjlv-carousel-controls button:disabled{opacity:.35;cursor:default}.csjlv-widget-track{--columns:4;display:grid;grid-auto-columns:calc((100% - 54px)/4);grid-auto-flow:column;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scroll-padding:0;padding-bottom:12px;align-items:start}.csjlv-widget-card{background:#fff;border:1px solid var(--csjlv-border);border-radius:12px;overflow:hidden;min-width:0;scroll-snap-align:start;box-shadow:0 4px 15px #17365108}.csjlv-widget-copy{padding:17px}.csjlv-service-tag{display:inline-block;border-radius:5px;background:#eaf3ff;color:#0756b6;padding:4px 8px;font-size:11px;font-weight:700}.csjlv-widget-copy h3,.csjlv-widget-detail h3{color:var(--csjlv-navy);font-size:19px;line-height:1.3;margin:12px 0 5px;overflow-wrap:anywhere}.csjlv-widget time{font-size:12px;color:#5c7187}.csjlv-widget-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.8em;color:var(--csjlv-gray);margin:13px 0 16px;overflow-wrap:anywhere}.csjlv-widget .csjlv-open-details{background:var(--csjlv-blue);color:#fff;border:0;border-radius:6px;font-size:12px;font-weight:700;padding:11px 12px;width:100%;cursor:pointer}.csjlv-widget-photo{position:relative;aspect-ratio:4/3;margin:0;background:#e5edf5;overflow:hidden}.csjlv-widget-photo img{display:block;width:100%;height:100%;object-fit:cover}.csjlv-photo-error{position:absolute;inset:0;display:grid;place-items:center;color:#60748a;font-size:12px;padding:20px;text-align:center}.csjlv-photo-error[hidden]{display:none}.csjlv-comparison{position:relative;aspect-ratio:4/3;overflow:hidden}.csjlv-comparison>.csjlv-widget-photo,.csjlv-comparison .csjlv-before{position:absolute;inset:0;width:100%;height:100%}.csjlv-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.csjlv-before .csjlv-widget-photo{height:100%;width:100%;aspect-ratio:auto}.csjlv-comparison:after{content:"";position:absolute;left:var(--split);top:0;bottom:30px;width:2px;background:#fff;pointer-events:none}.csjlv-comparison input[type=range]{position:absolute;left:8%;bottom:7px;width:84%;margin:0;accent-color:white;z-index:3;cursor:ew-resize}.csjlv-ba-label{position:absolute;top:9px;border-radius:4px;background:#0c2845cf;color:white;padding:3px 7px;font-size:10px;font-weight:700;pointer-events:none}.csjlv-ba-before{left:9px}.csjlv-ba-after{right:9px}.csjlv-content-only{display:grid;place-items:center;aspect-ratio:4/3;background:linear-gradient(135deg,#103d6b,#0872d9);color:#fff;font-size:20px;font-weight:700}.csjlv-widget[data-layout=grid] .csjlv-widget-track{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}.csjlv-widget[data-layout=grid] .csjlv-carousel-controls{display:none}.csjlv-widget-dialog{width:min(800px,calc(100vw - 36px));max-height:88vh;border:1px solid #d4e1ee;border-radius:14px;padding:0;color:var(--csjlv-navy);box-shadow:0 25px 100px #071a3399}.csjlv-widget-dialog::backdrop{background:#081f3dbb}.csjlv-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 22px;border-bottom:1px solid #dce5ef;position:sticky;top:0;background:#fff;z-index:4}.csjlv-close-details{background:#eff5fb;color:var(--csjlv-navy);border:1px solid #cbdced;border-radius:5px;padding:7px 12px;cursor:pointer}.csjlv-dialog-body{padding:22px}.csjlv-widget-detail p{overflow-wrap:anywhere}.csjlv-detail-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.csjlv-detail-photos>div:only-child{grid-column:1/-1}.csjlv-detail-photos h4{margin:6px 0}.csjlv-detail-photos .csjlv-widget-photo{aspect-ratio:auto;overflow:visible;background:#eef4fa;border-radius:6px}.csjlv-detail-photos img{width:100%;height:auto;max-height:55vh;object-fit:contain}.csjlv-detail-photos figcaption{padding:10px;font-size:13px}.csjlv-widget-detail blockquote{border-left:3px solid var(--csjlv-blue);background:#f1f7fe;margin:20px 0 0;padding:14px 18px}.csjlv-customer-name{font-size:13px;font-weight:700}.csjlv-widget button:focus-visible,.csjlv-widget input:focus-visible,.csjlv-widget-track:focus-visible{outline:3px solid #e7aa23;outline-offset:3px}
@container csjlv-widget (max-width:1050px){.csjlv-widget-track{grid-auto-columns:calc((100% - 18px)/2)}.csjlv-widget[data-layout=grid] .csjlv-widget-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container csjlv-widget (max-width:540px){.csjlv-widget-track{grid-auto-columns:100%}.csjlv-widget[data-layout=grid] .csjlv-widget-track{grid-template-columns:minmax(0,1fr)}.csjlv-widget-heading{align-items:start}.csjlv-widget-heading h2{font-size:24px}.csjlv-carousel-controls{gap:4px}.csjlv-carousel-controls button{width:32px;height:32px}}
@media(max-width:600px){.csjlv-widget{padding:18px}.csjlv-detail-photos{grid-template-columns:1fr}.csjlv-preview-options{align-items:stretch}.csjlv-preview-options select{max-width:100%}}
@media(prefers-reduced-motion:reduce){.csjlv-preview-canvas{transition:none}}

.csjlv-widget img[hidden]{display:none}
.csjlv-preview-canvas[data-width=phone] .csjlv-widget-dialog{width:min(390px,calc(100vw - 36px))}.csjlv-preview-canvas[data-width=phone] .csjlv-detail-photos{grid-template-columns:1fr}

/* Approved CSJ showcase layout, private test build 0.6.1. */
.csjlv-widget{--csjlv-blue:#1768e8;--csjlv-navy:#102951;background:#f4f7fb;padding:28px 34px}
.csjlv-widget-heading h2{font-size:clamp(26px,3.3vw,44px);font-weight:800;letter-spacing:-.035em}.csjlv-widget-heading h2 span{color:var(--csjlv-blue)}
.csjlv-widget .csjlv-eyebrow{color:#63758f;font-weight:500}.csjlv-widget-heading p{font-size:17px}
.csjlv-service-filter{font-size:11px;color:var(--csjlv-gray);display:grid;gap:4px;flex-shrink:0}.csjlv-service-filter select{border:1px solid #acbed7;border-radius:8px;color:var(--csjlv-navy);background:white;padding:9px 30px 9px 12px;max-width:220px;font:inherit;font-size:14px}
.csjlv-map{position:relative;overflow:hidden;aspect-ratio:10/3;border-radius:12px;background:#deecdf}.csjlv-map-art{display:block;width:100%;height:100%;object-fit:fill}.csjlv-map-note{position:absolute;bottom:8px;left:10px;max-width:90%;background:#fffE;border-radius:4px;padding:3px 7px;color:#466070;font-size:10px;line-height:1.4;pointer-events:none}.csjlv-map-marker{position:absolute;transform:translate(-50%,-100%);width:34px;height:34px;border-radius:50% 50% 50% 4px;rotate:-45deg;border:3px solid white;background:var(--csjlv-blue);box-shadow:0 0 0 6px #1768e826,0 3px 8px #10295144;color:white;cursor:pointer;z-index:1}.csjlv-map-marker span{display:block;rotate:45deg;font-weight:700;font-size:12px}.csjlv-map-marker[aria-pressed=true]{background:#102951;box-shadow:0 0 0 7px #1768e84d}.csjlv-map-status{font-size:11px;color:#5e728c;margin:8px 0 15px;min-height:1.6em}
.csjlv-carousel-shell{position:relative}.csjlv-carousel-controls{position:absolute;inset:0 -24px;pointer-events:none;justify-content:space-between;align-items:center;z-index:4}.csjlv-carousel-controls button{pointer-events:auto;box-shadow:0 3px 12px #10295120;border:0;width:36px;height:36px;font-size:30px;color:var(--csjlv-navy)}
.csjlv-widget-track{grid-auto-columns:calc((100% - 18px)/2);align-items:stretch;scrollbar-width:none;position:relative}.csjlv-widget-track::-webkit-scrollbar{display:none}.csjlv-widget-card{display:flex;flex-direction:column;padding:9px;transition:box-shadow .15s}.csjlv-widget-card.csjlv-map-selected{box-shadow:inset 0 0 0 2px var(--csjlv-blue)}.csjlv-card-media{position:relative;border-radius:8px;overflow:hidden;flex-shrink:0}.csjlv-photo-service{position:absolute;top:10px;left:10px;z-index:3;background:#1768e8;color:#fff;border-radius:20px;padding:4px 11px;font-size:11px;font-weight:600;max-width:80%}.csjlv-widget-photo,.csjlv-comparison,.csjlv-content-only{aspect-ratio:2.25/1}.csjlv-widget-copy{padding:5px 7px 8px;display:flex;flex-direction:column;flex:1}.csjlv-widget-copy h3{font-size:22px;letter-spacing:-.025em;margin:8px 0}.csjlv-card-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 14px;color:var(--csjlv-gray);font-size:12px}.csjlv-card-meta time{border-left:1px solid #dce5ef;padding-left:14px}.csjlv-widget-excerpt{margin:10px 0;min-height:0;-webkit-line-clamp:2;font-size:14px;line-height:1.6}.csjlv-widget .csjlv-open-details{margin-top:auto;width:auto;background:transparent;color:#1768e8;text-align:left;padding:13px 0 0;font-size:14px;font-weight:600;align-self:flex-start}.csjlv-widget .csjlv-open-details:hover{text-decoration:underline}
.csjlv-card-review{margin:0 0 3px;overflow-wrap:anywhere}.csjlv-rating{font-size:21px;line-height:1.4;color:#eaa514;letter-spacing:1px}.csjlv-rating strong{font-size:13px;letter-spacing:0;color:var(--csjlv-navy);margin-left:5px}.csjlv-empty-stars{color:#a5afbe}.csjlv-card-review blockquote{margin:3px 0 0;font-size:13px;line-height:1.55;color:#53667b;font-style:italic}.csjlv-review-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.csjlv-card-review .csjlv-customer-name{margin:4px 0;font-size:11px;color:#63758f}
.csjlv-ba-label{top:auto;bottom:8px;font-size:10px;text-transform:uppercase}.csjlv-comparison input[type=range]{bottom:35%;opacity:.85}.csjlv-comparison:after{bottom:0}.csjlv-content-only{font-size:24px}
.csjlv-pagination{display:flex;gap:10px;justify-content:center;margin:10px 0 14px}.csjlv-pagination button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#c9d3e2;cursor:pointer}.csjlv-pagination button[aria-current=true]{background:var(--csjlv-blue)}.csjlv-widget-footer{display:flex;justify-content:space-between;gap:15px;color:#73859e;font-size:10px}.csjlv-filter-empty{text-align:center;color:#53667b}
.csjlv-widget[data-layout=grid] .csjlv-widget-track{grid-template-columns:repeat(2,minmax(0,1fr))}.csjlv-widget[data-layout=grid] .csjlv-pagination{display:none}.csjlv-widget [hidden]{display:none!important}
@container csjlv-widget (max-width:540px){.csjlv-widget-track{grid-auto-columns:100%}.csjlv-widget[data-layout=grid] .csjlv-widget-track{grid-template-columns:minmax(0,1fr)}.csjlv-widget-heading{display:block}.csjlv-service-filter{margin-top:12px}.csjlv-service-filter select{max-width:100%;width:100%}.csjlv-widget-heading h2{font-size:27px}.csjlv-widget-heading p{font-size:14px}.csjlv-widget-copy h3{font-size:20px}.csjlv-map{aspect-ratio:10/3}.csjlv-map-art{object-fit:fill}.csjlv-map-marker{width:22px;height:22px;border-width:2px}.csjlv-map-marker span{font-size:10px}.csjlv-map-note{font-size:8px}.csjlv-widget-footer{flex-wrap:wrap}.csjlv-photo-service{font-size:10px}.csjlv-card-meta{font-size:11px}.csjlv-card-meta time{font-size:11px}}
@media(max-width:600px){.csjlv-widget{padding:20px}.csjlv-carousel-controls{inset:0 -16px}}
@media(prefers-reduced-motion:reduce){.csjlv-widget-card{transition:none}}
.csjlv-business-reply{border-left:3px solid #1768e8;background:#f0f5fc;padding:9px 12px;margin:10px 0;color:#53667b;font-size:12px;overflow-wrap:anywhere}.csjlv-business-reply strong{color:#102951;font-size:11px}.csjlv-business-reply p{margin:4px 0 0}
.csjlv-branded-fallback{margin:0;overflow:hidden;background:#06234b}.csjlv-branded-fallback img{display:block;width:100%;height:100%;object-fit:contain}.csjlv-detail-fallback{grid-column:1/-1}.csjlv-detail-fallback .csjlv-branded-fallback{aspect-ratio:1920/942;border-radius:8px}
.csjlv-card-media .csjlv-branded-fallback{padding:0}
.csjlv-load-google{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5;border:2px solid white;border-radius:7px;background:#1768e8;color:white;padding:12px 18px;font-weight:700;box-shadow:0 3px 15px #10295155;cursor:pointer}.csjlv-load-google:disabled{background:#53667b;cursor:default}.csjlv-google-map{width:100%;height:100%;position:absolute;inset:0}.csjlv-map[data-provider]{height:340px;min-height:280px;aspect-ratio:auto;background:#eef4fa}.csjlv-map[data-provider]>.csjlv-map-art,.csjlv-map[data-provider]>.csjlv-map-marker,.csjlv-map[data-provider]>.csjlv-map-note{display:none!important}.csjlv-google-status{font-size:12px;color:#53667b;line-height:1.6}.csjlv-google-status:empty{display:none}.csjlv-google-pin{min-width:34px;height:34px;display:grid;place-items:center;border:3px solid white;border-radius:50%;background:#1768e8;color:white;box-shadow:0 0 0 5px #1768e833,0 3px 8px #10295144;font:700 14px system-ui,sans-serif;padding:0 5px}.csjlv-google-pin:focus-visible{outline:3px solid #e7aa23}

/* Each approved job owns a separate, lazy-loaded detail gallery. */
.csjlv-detail-photos.csjlv-job-gallery{display:block;margin-top:18px}.csjlv-job-gallery [data-gallery-slide]{min-width:0}.csjlv-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}.csjlv-gallery-controls button{border:1px solid #acbed7;border-radius:6px;background:#fff;color:#102951;cursor:pointer;padding:9px 12px}.csjlv-gallery-status{font-size:12px;color:#53667b;text-align:center}.csjlv-job-gallery:focus-visible{outline:3px solid #e7aa23;outline-offset:3px}.csjlv-job-gallery img{max-height:50vh;object-fit:contain}

.csjlv-widget .csjlv-detail-pair,.csjlv-widget-modal .csjlv-detail-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.csjlv-detail-pair>div{min-width:0}.csjlv-detail-pair img{width:100%;height:auto}.csjlv-pair-caption{margin-top:10px}

/* Keep navigation icons centered independently of theme button typography/padding. */
.csjlv-widget .csjlv-carousel-controls{inset:0 -18px 12px;align-items:center;justify-content:space-between}
.csjlv-widget .csjlv-carousel-controls button{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;margin:0;padding:0;line-height:1;box-sizing:border-box;transform:none;letter-spacing:normal}
.csjlv-widget .csjlv-carousel-controls button svg{display:block;flex:none;width:22px;height:22px;margin:0}
.csjlv-autoplay-controls{display:flex;justify-content:center;margin-top:8px}.csjlv-widget .csjlv-autoplay-toggle{margin:0;padding:5px 10px;border:1px solid #bdd2e7;border-radius:6px;background:#fff;color:var(--csjlv-navy);font:500 12px/1.4 system-ui,sans-serif;cursor:pointer}
.csjlv-widget[data-layout=grid] .csjlv-autoplay-controls,.csjlv-autoplay-controls[hidden]{display:none}.csjlv-map-status:empty,.csjlv-google-status:empty{display:none}
@media(max-width:600px){.csjlv-widget .csjlv-carousel-controls{inset:0 -16px 12px}.csjlv-widget .csjlv-carousel-controls button{flex-basis:32px;width:32px;min-width:32px;height:32px;min-height:32px}}

.csjlv-widget .csjlv-autoplay-toggle[hidden]{display:none}

/* Public widgets must fill their assigned page-builder column. Inline-size
   containment must not determine an auto-sized Elementor shortcode wrapper. */
.csjlv-public-widget{display:block;width:100%;max-width:100%;min-width:0;flex:1 1 auto;align-self:stretch;box-sizing:border-box}
.csjlv-public-widget>.csjlv-preview-canvas{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.csjlv-public-widget .csjlv-widget{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.elementor-element.elementor-widget:has(.csjlv-public-widget){width:100%!important;max-width:100%;min-width:0;align-self:stretch;--container-widget-width:100%;--container-widget-flex-grow:1}
.elementor-widget-container:has(.csjlv-public-widget),.elementor-shortcode:has(.csjlv-public-widget){display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.csjlv-public-widget .csjlv-widget-heading>div{min-width:0}.csjlv-public-widget .csjlv-widget-heading h2{overflow-wrap:break-word}.csjlv-public-widget .csjlv-carousel-shell,.csjlv-public-widget .csjlv-widget-track{min-width:0;max-width:100%}
@container csjlv-widget (max-width:540px){.csjlv-public-widget .csjlv-widget-heading{flex-direction:column;align-items:stretch;gap:12px}.csjlv-public-widget .csjlv-service-filter{width:100%;max-width:100%}.csjlv-public-widget .csjlv-service-filter select{width:100%;max-width:100%}}
