
/* Dibico Gallery Controller v1.3.0 */
.dgc,.dgc *{box-sizing:border-box}.dgc{color:#2b2925}.dgc-landing,.dgc-category,.dgc-gallery{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.dgc-title-bar{width:100%;min-height:47px;display:flex;align-items:center;justify-content:center;background:#312e2a;color:#fff}
.dgc-title-bar span{font-family:Montserrat,Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:.26em;text-transform:uppercase}
.dgc-category-heading{width:max-content;max-width:100%;margin:0 auto 36px;padding-bottom:8px;color:#173a74;border-bottom:1px solid #173a74;font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:1.2;font-weight:700;letter-spacing:.11em;text-transform:uppercase;text-align:center}

/* First gallery screen: title + view full gallery + facade slider */
.dgc-teaser{background:#f8f3ea}
.dgc-teaser-inner{width:min(980px,calc(100% - 48px));margin:0 auto;padding:92px 0 84px;text-align:center}
.dgc-full-gallery-link{display:inline-block;margin:-18px 0 42px;padding-bottom:7px;border-bottom:1px solid #173a74;color:#173a74;text-decoration:none;font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.dgc-full-gallery-link:hover,.dgc-full-gallery-link:focus-visible{color:#0f2a59;border-bottom-color:#0f2a59}
.dgc-slider{position:relative;width:min(760px,100%);aspect-ratio:16/10;margin:0 auto;overflow:hidden;background:#ddd}
.dgc-slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;pointer-events:none}
.dgc-slide.is-active{opacity:1;z-index:1}
.dgc-slide img{width:100%;height:100%;display:block;object-fit:cover}

/* Full gallery split */
.dgc-split{display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:calc(100vh - 182px)}
.dgc-panel{position:relative;min-width:0;min-height:580px;overflow:hidden;text-decoration:none;background:#1d1d1d}
.dgc-split-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.dgc-overlay{position:absolute;inset:0;background:rgba(0,0,0,.22);transition:background .35s ease}
.dgc-panel-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:#fff;text-align:center}
.dgc-panel-title{font-family:Arial,sans-serif;font-size:3rem;line-height:1.05;font-weight:400;text-shadow:0 2px 12px rgba(0,0,0,.32)}
.dgc-view{display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:40px;padding:8px 20px;border:1px solid #fff;color:#fff;font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:500;letter-spacing:.08em;opacity:0;transition:opacity .25s ease}

/* Category cards */
.dgc-category{background:#f8f3ea}.dgc-category-inner,.dgc-gallery-inner{width:min(1100px,calc(100% - 48px));margin:0 auto;padding:54px 0 76px}
.dgc-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.dgc-card{text-decoration:none;color:#2b2925}
.dgc-card-media{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#d8d5cf}.dgc-card-image,.dgc-card-media>.dgc-placeholder{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.dgc-card-media .dgc-view{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.dgc-card-title{display:block;margin-top:12px;text-align:center;font-family:Montserrat,Arial,sans-serif;font-size:15px;font-weight:500}

/* Masonry leaf galleries */
.dgc-gallery{background:#f8f3ea}.dgc-gallery-inner{padding-top:66px;padding-bottom:86px}.dgc-masonry{column-count:3;column-gap:16px}
.dgc-photo{display:block;width:100%;margin:0 0 16px;break-inside:avoid;overflow:hidden;background:#e4e1dc}.dgc-photo img{width:100%;height:auto;display:block;transition:transform .3s ease}
.dgc-empty{text-align:center;font-family:Montserrat,Arial,sans-serif}.dgc-placeholder{display:block;background:#d8d5cf}

/* Lightbox */
.dgc-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:30px 86px;background:rgba(0,0,0,.94)}
.dgc-lightbox[hidden]{display:none}.dgc-lightbox img{max-width:min(82vw,1400px);max-height:84vh;object-fit:contain;box-shadow:0 10px 35px rgba(0,0,0,.38)}
.dgc-close,.dgc-prev,.dgc-next{position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.22);background:#090909;color:#fff;cursor:pointer}
.dgc-close{top:18px;right:18px;width:34px;height:34px;padding:0;font:400 22px/1 Arial,sans-serif}
.dgc-prev,.dgc-next{top:50%;width:34px;height:42px;transform:translateY(-50%);font:400 20px/1 Arial,sans-serif}
.dgc-prev{left:18px}.dgc-next{right:18px}
.dgc-counter{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:#ddd;font:500 11px/1.2 Montserrat,Arial,sans-serif;letter-spacing:.04em}

@media (hover:hover) and (pointer:fine){
 .dgc-panel:hover .dgc-split-image,.dgc-panel:focus-visible .dgc-split-image{transform:scale(1.045)}
 .dgc-panel:hover .dgc-overlay,.dgc-panel:focus-visible .dgc-overlay,.dgc-card:hover .dgc-overlay,.dgc-card:focus-visible .dgc-overlay{background:rgba(0,0,0,.34)}
 .dgc-panel:hover .dgc-view,.dgc-panel:focus-visible .dgc-view,.dgc-card:hover .dgc-view,.dgc-card:focus-visible .dgc-view{opacity:1}
 .dgc-card:hover .dgc-card-image,.dgc-card:focus-visible .dgc-card-image{transform:scale(1.04)}
 .dgc-photo:hover img,.dgc-photo:focus-visible img{transform:scale(1.02)}
}
@media(max-width:900px){.dgc-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dgc-masonry{column-count:2}.dgc-panel-title{font-size:2.3rem}.dgc-lightbox{padding:28px 58px}.dgc-lightbox img{max-width:88vw}}
@media(max-width:600px){.dgc-teaser-inner{width:min(100% - 30px,980px);padding:58px 0}.dgc-split{grid-template-columns:1fr;min-height:0}.dgc-panel{min-height:360px}.dgc-view{opacity:1}.dgc-panel-title{font-size:2rem}.dgc-category-inner,.dgc-gallery-inner{width:min(100% - 30px,1100px);padding-top:42px;padding-bottom:58px}.dgc-card-grid{grid-template-columns:1fr}.dgc-masonry{column-count:1}.dgc-lightbox{padding:54px 16px}.dgc-lightbox img{max-width:94vw;max-height:78vh}.dgc-prev{left:8px}.dgc-next{right:8px}}
@media(prefers-reduced-motion:reduce){.dgc-slide,.dgc-split-image,.dgc-card-image,.dgc-photo img,.dgc-overlay,.dgc-view{transition:none}}
body.page-id-72 .vc_row>.wpb_column>.vc_column-inner{padding-left:0;padding-right:0}
body.page-id-72 .wpb_raw_code.wpb_content_element{margin-bottom:0}
body.page-id-72 #page{min-height:0;display:block}
body.page-id-72 #content{min-height:0}


/* v1.3.0: slider shortcode is intentionally presentation-only. */
.dgc-slider-wrap {
    width: 100%;
    margin: 0;
    padding: 0;
}
.dgc-slider-wrap .dgc-slider {
    width: 100%;
    margin: 0;
}


/* v1.5.1 — Repairs & Renovations slider pagination dots */
.dgc-slider-wrap .dgc-slider {
  position: relative;
}

.dgc-slider-wrap .dgc-slider-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 12px !important;
  z-index: 50 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transform: translateX(-50%) !important;
  pointer-events: auto !important;
}

.dgc-slider-wrap .dgc-slider-dot {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background-color: rgba(255,255,255,.58) !important;
  background-image: none !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.08) !important;
  opacity: 1 !important;
  cursor: pointer !important;
}

.dgc-slider-wrap .dgc-slider-dot:hover,
.dgc-slider-wrap .dgc-slider-dot:focus,
.dgc-slider-wrap .dgc-slider-dot.is-active {
  background-color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(0,0,0,.10) !important;
  outline: none !important;
}


/* v1.7.0 — lightbox interaction for Repairs & Renovations slider shortcodes */
.dgc-slider-wrap .dgc-slide.is-active {
  pointer-events: auto;
}

.dgc-slider-wrap .dgc-slider-lightbox-link {
  display: block;
  width: 100%;
  height: 100%;
  cursor: zoom-in;
}

.dgc-slider-wrap .dgc-slider-lightbox-link img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}


/* v1.9.1 — full Gallery Interiors/Exteriors split refinement */
.dgc-split .dgc-panel:hover .dgc-overlay,
.dgc-split .dgc-panel:focus-visible .dgc-overlay{
    background:rgba(0,0,0,.52);
}
.dgc-split .dgc-view{
    gap:7px;
}
.dgc-split .dgc-view-arrow{
    display:inline-block;
    font-size:14px;
    line-height:1;
    letter-spacing:0;
    transform:translateY(-1px);
}


/* v1.9.2 — category gallery cards match approved mockup:
   title centered over image; no below-image title or VIEW control. */
.dgc-category .dgc-card-media{
    position:relative;
}
.dgc-category .dgc-card-title{
    position:absolute;
    left:50%;
    top:50%;
    z-index:3;
    display:block;
    width:calc(100% - 32px);
    margin:0;
    transform:translate(-50%,-50%);
    text-align:center;
    color:#fff;
    font-family:Montserrat,Arial,sans-serif;
    font-size:18px;
    font-weight:500;
    line-height:1.25;
    text-decoration:none;
    text-shadow:0 1px 3px rgba(0,0,0,.35);
    pointer-events:none;
}


/* v1.9.3 — wider/tighter category gallery grid to match approved mockup */
.dgc-category .dgc-category-inner{
    width:min(1240px,calc(100% - 32px));
}
.dgc-category .dgc-card-grid{
    column-gap:6px;
    row-gap:6px;
}


/* v1.9.4 — lightbox close control must never inherit site/theme blue states. */
.dgc-lightbox .dgc-close,
.dgc-lightbox .dgc-close:hover,
.dgc-lightbox .dgc-close:focus,
.dgc-lightbox .dgc-close:focus-visible,
.dgc-lightbox .dgc-close:active{
    background:#090909 !important;
    background-color:#090909 !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-color:rgba(255,255,255,.22) !important;
    color:#fff !important;
    box-shadow:none !important;
}
.dgc-lightbox .dgc-close:focus-visible{
    outline:2px solid #fff !important;
    outline-offset:2px;
}


/* v1.9.5 — main Gallery page continues below the tall split panes with
   the same Interiors and Exteriors category-card grids used by their dedicated views. */
.dgc-landing-browse{
    background:#f8f3ea;
    padding:70px 0 82px;
}
.dgc-landing-category + .dgc-landing-category{
    margin-top:86px;
}
.dgc-landing-category .dgc-category-inner{
    width:min(1240px,calc(100% - 32px));
    padding:0;
}
.dgc-landing-category .dgc-card-grid{
    column-gap:6px;
    row-gap:6px;
}
.dgc-landing-category .dgc-card-title{
    position:absolute;
    left:50%;
    top:50%;
    z-index:3;
    display:block;
    width:calc(100% - 32px);
    margin:0;
    transform:translate(-50%,-50%);
    text-align:center;
    color:#fff;
    font-family:Montserrat,Arial,sans-serif;
    font-size:18px;
    font-weight:500;
    line-height:1.25;
    text-decoration:none;
    text-shadow:0 1px 3px rgba(0,0,0,.35);
    pointer-events:none;
}
@media(max-width:600px){
    .dgc-landing-browse{padding:48px 0 58px}
    .dgc-landing-category + .dgc-landing-category{margin-top:58px}
    .dgc-landing-category .dgc-category-inner{width:min(100% - 30px,1240px)}
}
