.dibec-obra{max-width:1200px;margin:0 auto;padding:0 20px 10px;font-family:"Montserrat",sans-serif;color:#22303f}
.dibec-obra *{box-sizing:border-box}
.dibec-obra-bc{color:#aab3bb;letter-spacing:2px;font-size:13px;text-transform:uppercase;padding:26px 0 16px;font-weight:600}
.dibec-obra-bc span{color:#6b7681}
.dibec-obra-hero{position:relative;height:500px;background-size:cover;background-position:center;border-radius:6px;overflow:hidden;display:flex;align-items:flex-end}
.dibec-obra-hero-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,20,30,.85) 0%,rgba(10,20,30,.18) 55%,transparent 100%)}
.dibec-obra-hero-in{position:relative;padding:34px;z-index:2}
.dibec-obra-tag{display:inline-block;background:#0775b6;color:#fff;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:7px 16px;border-radius:3px;margin-bottom:14px}
.dibec-obra-title{color:#fff;font-size:44px;font-weight:800;line-height:1.12;margin:0;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.dibec-obra-body{display:flex;gap:48px;padding:50px 0}
.dibec-obra-main{flex:0 0 58%}
.dibec-obra-h2{font-size:30px;font-weight:800;color:#22303f;margin:0 0 16px;position:relative;padding-bottom:13px}
.dibec-obra-h2:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;background:#29ABE2;border-radius:2px}
.dibec-obra-desc{font-size:19px;line-height:1.75;color:#6b7681}
.dibec-obra-desc p{margin:0 0 1em}
.dibec-obra-ficha{flex:1;background:#f5f8fa;border-left:6px solid #0775b6;border-radius:4px;padding:26px 28px;align-self:flex-start}
.dibec-obra-ficha-t{font-size:16px;font-weight:800;letter-spacing:2px;color:#22303f;margin:0 0 14px}
.dibec-obra-ficha-sep{height:1px;background:#e6e9ec;margin:0 0 16px}
.dibec-obra-row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #e6e9ec;font-size:16px}
.dibec-obra-row:last-child{border-bottom:0}
.dibec-obra-row .k{color:#6b7681}
.dibec-obra-row .v{color:#22303f;font-weight:600;text-align:right}
.dibec-obra-gal{padding:16px 0 60px}
.dibec-obra-gal-t{font-size:20px;font-weight:800;letter-spacing:3px;color:#0775b6;margin:0 0 22px}
.dibec-obra-gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dibec-obra-gal-i{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:5px;cursor:pointer;position:relative}
.dibec-obra-gal-i:focus-visible{outline:3px solid #29ABE2;outline-offset:2px}
.dibec-obra-gal-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.dibec-obra-gal-i:hover img{transform:scale(1.06)}
@media(max-width:900px){.dibec-obra-body{flex-direction:column;gap:30px;padding:32px 0}.dibec-obra-main{flex:none}.dibec-obra-hero{height:340px}.dibec-obra-title{font-size:30px}.dibec-obra-gal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dibec-obra-gal-grid{grid-template-columns:1fr}.dibec-obra-title{font-size:24px}.dibec-obra-desc{font-size:17px}.dibec-obra-hero-in{padding:22px}}
/* lightbox: sin boton de zoom (solo en fichas de obra) */
.elementor-lightbox i.eicon-zoom-in-bold,.elementor-lightbox i.eicon-zoom-out-bold{display:none!important}
/* ===== indice / grilla de obras ===== */
.dibec-obras-idx{max-width:1200px;margin:0 auto;padding:0 20px 60px;font-family:"Montserrat",sans-serif;color:#22303f}
.dibec-obras-idx *{box-sizing:border-box}
.dibec-obras-idx-head{padding:44px 0 0}
.dibec-obras-idx-eyebrow{color:#0775b6;letter-spacing:3px;text-transform:uppercase;font-size:14px;font-weight:700;margin-bottom:10px}
.dibec-obras-idx-headrow{display:flex;align-items:flex-end;justify-content:space-between;gap:44px;flex-wrap:wrap}
.dibec-obras-idx-title{font-size:60px;font-weight:800;color:#22303f;margin:0;line-height:1.05}
.dibec-obras-idx-lead{font-size:17px;line-height:1.6;color:#6b7681;max-width:430px;margin:0 0 6px}
.dibec-obras-idx-divider{height:1px;background:#e6e9ec;margin:28px 0 36px}
.dibec-obras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.dibec-obra-card{display:block;background:#fff;border:1px solid #e6e9ec;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.dibec-obra-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(34,48,63,.13);border-color:#d5dbe0}
.dibec-obra-card-media{position:relative;height:300px;background-size:cover;background-position:center;background-color:#e6e9ec}
.dibec-obra-card-cat{position:absolute;top:14px;left:14px;background:rgba(20,30,40,.72);color:#fff;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 12px;border-radius:3px}
.dibec-obra-card-body{padding:22px 24px 24px}
.dibec-obra-card-title{font-size:23px;font-weight:800;color:#22303f;margin:0 0 8px;line-height:1.25}
.dibec-obra-card-client{color:#0775b6;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px}
.dibec-obra-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e6e9ec;padding-top:15px}
.dibec-obra-card-loc{display:inline-flex;align-items:center;gap:6px;color:#6b7681;font-size:14px}
.dibec-obra-card-loc svg{color:#aab3bb;flex:none}
.dibec-obra-card-cta{color:#0775b6;font-weight:700;font-size:14px;white-space:nowrap}
@media(max-width:820px){.dibec-obras-grid{grid-template-columns:1fr}.dibec-obras-idx-title{font-size:40px}.dibec-obras-idx-headrow{flex-direction:column;align-items:flex-start;gap:14px}.dibec-obras-idx-lead{max-width:none}.dibec-obra-card-media{height:230px}}

/* lightbox en fichas de obra: fondo oscuro OPACO, imagen sin radius/sombra/borde blanco */
.elementor-lightbox{background-color:#12181f!important}
.elementor-lightbox .dialog-widget-content,.elementor-lightbox .elementor-lightbox-item,.elementor-lightbox .swiper-slide,.elementor-lightbox .swiper-zoom-container,.elementor-lightbox figure{background:transparent!important}
.elementor-lightbox .elementor-lightbox-image{border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;background:transparent!important}
/* ocultar barra de scroll dentro del lightbox (fotos altas) */
.elementor-lightbox *{scrollbar-width:none!important;-ms-overflow-style:none!important}
.elementor-lightbox ::-webkit-scrollbar,.elementor-lightbox *::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.elementor-lightbox .elementor-lightbox-item,.elementor-lightbox .swiper-zoom-container,.elementor-lightbox .swiper-slide{}
/* v1.8 scrollbar: cubrir el elemento raiz .elementor-lightbox y dialog (no solo descendientes) */
.elementor-lightbox,.elementor-lightbox .dialog-widget-content,.elementor-lightbox .elementor-lightbox-item{scrollbar-width:none!important;-ms-overflow-style:none!important}
.elementor-lightbox::-webkit-scrollbar,.elementor-lightbox .dialog-widget-content::-webkit-scrollbar,.elementor-lightbox .elementor-lightbox-item::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
/* v1.9 imagen del lightbox: nunca mas alta/ancha que la pantalla -> sin overflow -> sin scrollbar */
.elementor-lightbox .elementor-lightbox-image{max-height:82vh!important;max-width:90vw!important;height:auto!important;width:auto!important}
/* v2.0 lightbox propio (reemplaza el de Elementor) — sin Swiper, sin banda fantasma, sin scrollbar */
.dibec-lb{display:none;position:fixed;inset:0;z-index:2147483000;background:#12181f;align-items:center;justify-content:center}
.dibec-lb.open{display:flex}
.dibec-lb-img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;display:block;box-shadow:0 4px 40px rgba(0,0,0,.5)}
.dibec-lb-x{position:absolute;top:16px;right:24px;background:none;border:0;color:#fff;font-size:42px;line-height:1;cursor:pointer;opacity:.85;padding:0 8px;z-index:2}
.dibec-lb-x:hover{opacity:1}
.dibec-lb-prev,.dibec-lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:0;color:#fff;font-size:34px;line-height:1;width:54px;height:54px;border-radius:50%;cursor:pointer;opacity:.75;display:flex;align-items:center;justify-content:center;z-index:2}
.dibec-lb-prev:hover,.dibec-lb-next:hover{opacity:1;background:rgba(255,255,255,.18)}
.dibec-lb-prev{left:22px}.dibec-lb-next{right:22px}
@media(max-width:600px){.dibec-lb-prev,.dibec-lb-next{width:44px;height:44px;font-size:26px}.dibec-lb-x{font-size:36px;top:10px;right:14px}}
/* v2.1 fix: !important para ganar a reglas globales img{width:100%} del tema (causaban overflow/scroll) */
.dibec-lb{width:100vw!important;height:100vh!important}
.dibec-lb-img{max-width:92vw!important;max-height:88vh!important;width:auto!important;height:auto!important;object-fit:contain!important}
/* v2.2 boton "Ver obras anteriores" al final de la grilla */
.dibec-obras-anteriores{text-align:center;margin:8px 0 10px}
.dibec-obras-ant-btn{display:inline-block;font-family:Montserrat,sans-serif;font-weight:600;font-size:15px;color:#0775b6;background:#f5f8fa;border:1px solid #e6e9ec;border-radius:30px;padding:12px 32px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.dibec-obras-ant-btn:hover{background:#0775b6;color:#fff;border-color:#0775b6}
@media(max-width:600px){.dibec-obras-ant-btn{display:block;margin:0 16px}}
