.hc-gallery{--hc-gallery-height:360px;--hc-gallery-gap:8px;--hc-gallery-radius:6px;position:relative;width:100%;max-width:100%}
.hc-gallery-grid{display:grid;grid-template-columns:1.35fr .55fr .55fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--hc-gallery-gap);height:var(--hc-gallery-height)}
.hc-gallery-cell{min-width:0;min-height:0;overflow:hidden;border-radius:var(--hc-gallery-radius);background:#f4f0f0}
.hc-gallery-cell img{display:block;width:100%;height:100%!important;object-fit:cover;object-position:center;transition:opacity .18s ease}
.hc-gallery-cell-1{grid-column:1;grid-row:1/3}
.hc-gallery-cell-2{grid-column:2/4;grid-row:1}
.hc-gallery-cell-3{grid-column:2;grid-row:2}
.hc-gallery-cell-4{grid-column:3;grid-row:2}
.hc-gallery-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);border:0!important;display:flex;justify-content:center;align-items:center;width:42px;height:42px;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:#5b4651!important;box-shadow:0 2px 14px rgba(0,0,0,.12);padding:0!important;cursor:pointer;font-size:32px;line-height:1}
.hc-gallery-nav:hover,.hc-gallery-nav:focus-visible{background:#fff!important;color:#a43b73!important}
.hc-gallery-prev{left:10px}.hc-gallery-next{right:10px}
.hc-gallery-counter{position:absolute;bottom:12px;left:14px;padding:3px 9px;border-radius:20px;background:rgba(0,0,0,.55);color:white;font:500 12px/1.6 system-ui,sans-serif}
.hc-gallery-empty{padding:12px;border:1px dashed #ddd}
@media(max-width:767px){.hc-gallery-grid{height:min(70vw,400px);min-height:250px;grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr}.hc-gallery-cell-1{grid-column:1/3;grid-row:1}.hc-gallery-cell-2{grid-column:1;grid-row:2}.hc-gallery-cell-3{grid-column:2;grid-row:2}.hc-gallery-cell-4{display:none}.hc-gallery-nav{width:36px;height:36px;font-size:28px}}
@media(max-width:420px){.hc-gallery-grid{height:310px;min-height:0}.hc-gallery-counter{bottom:7px}}

.hc-gallery-count-1 .hc-gallery-cell-1{grid-column:1/4}.hc-gallery-count-1 .hc-gallery-cell:not(.hc-gallery-cell-1){display:none}
.hc-gallery-count-2 .hc-gallery-cell-1{grid-column:1/3}.hc-gallery-count-2 .hc-gallery-cell-2{grid-column:3;grid-row:1/3}.hc-gallery-count-2 .hc-gallery-cell:nth-child(n+3){display:none}
.hc-gallery-count-3 .hc-gallery-cell-1{grid-column:1/3}.hc-gallery-count-3 .hc-gallery-cell-2{grid-column:3;grid-row:1}.hc-gallery-count-3 .hc-gallery-cell-3{grid-column:3;grid-row:2}.hc-gallery-count-3 .hc-gallery-cell-4{display:none}
@media(max-width:767px){.hc-gallery-count-1 .hc-gallery-cell-1{grid-column:1/3}.hc-gallery-count-2 .hc-gallery-cell-1{grid-column:1;grid-row:1/3}.hc-gallery-count-2 .hc-gallery-cell-2{grid-column:2;grid-row:1/3}.hc-gallery-count-3 .hc-gallery-cell-1{grid-column:1/3;grid-row:1}.hc-gallery-count-3 .hc-gallery-cell-2{grid-column:1;grid-row:2}.hc-gallery-count-3 .hc-gallery-cell-3{grid-column:2;grid-row:2}}

/* 0.1.3: never let image intrinsic proportions resize the mosaic or its Elementor column. */
.elementor-widget-hc_acf_mosaic_gallery,.elementor-widget-hc_acf_mosaic_gallery .elementor-widget-container{width:100%;min-width:0;max-width:100%}
.hc-gallery{box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden;isolation:isolate}
.hc-gallery-grid{box-sizing:border-box;width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1.35fr) minmax(0,.55fr) minmax(0,.55fr);grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}
.hc-gallery-cell{position:relative;box-sizing:border-box;width:100%;height:100%;max-width:100%;min-width:0;min-height:0}
.hc-gallery-cell img{position:absolute!important;inset:0;width:100%!important;max-width:none!important;min-width:0!important;height:100%!important;min-height:0!important;object-fit:cover!important}
.hc-gallery-open{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;background:transparent!important;border:0!important;border-radius:0!important;cursor:zoom-in;padding:0!important;color:transparent!important}
.hc-gallery-open span{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:rgba(255,255,255,.92);color:#713451;font-size:22px;opacity:0;transition:opacity .15s}
.hc-gallery-open:hover span,.hc-gallery-open:focus-visible span{opacity:1}
.hc-gallery-nav{z-index:5}
@media(max-width:767px){.hc-gallery-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.hc-gallery-lb{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:rgba(12,11,16,.94);padding:55px 60px;box-sizing:border-box}
.hc-gallery-lb[hidden]{display:none!important}
.hc-gallery-lb img{display:block;max-width:100%;max-height:calc(100vh - 110px);object-fit:contain;width:auto;height:auto;box-shadow:0 8px 40px rgba(0,0,0,.35)}
.hc-gallery-lb button{position:absolute;display:grid;place-items:center;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.95)!important;color:#4e2540!important;cursor:pointer;min-height:42px;min-width:42px;padding:0!important;font-size:32px;line-height:1}
.hc-gallery-lb-close{top:14px;right:20px}.hc-gallery-lb-prev{left:12px;top:50%;transform:translateY(-50%)}.hc-gallery-lb-next{right:12px;top:50%;transform:translateY(-50%)}
.hc-gallery-lb-count{position:absolute;bottom:14px;color:#fff;font:500 13px system-ui,sans-serif}
body.hc-gallery-lb-open{overflow:hidden!important}
@media(max-width:600px){.hc-gallery-lb{padding:62px 14px}.hc-gallery-lb img{max-height:calc(100vh - 145px)}.hc-gallery-lb-prev{left:8px}.hc-gallery-lb-next{right:8px}.hc-gallery-lb button{min-height:38px;min-width:38px}}

/* 0.1.4: single-frame gallery mode for ACF Standard / Standard Plus. */
.hc-gallery.hc-gallery-single .hc-gallery-grid{display:block;width:100%;height:var(--hc-gallery-height);overflow:hidden}
.hc-gallery.hc-gallery-single .hc-gallery-cell-1{display:block;position:relative;width:100%;height:100%;grid-column:auto;grid-row:auto}
.hc-gallery.hc-gallery-single .hc-gallery-cell:not(.hc-gallery-cell-1){display:none!important}
@media(max-width:767px){.hc-gallery.hc-gallery-single .hc-gallery-grid{height:min(70vw,400px);min-height:250px}}
@media(max-width:420px){.hc-gallery.hc-gallery-single .hc-gallery-grid{height:310px;min-height:0}}
