/* TAQA Gallery 3.1: gallery-scoped selectors; responsive controls respect saved values. */
.tag-gallery,.tag-gallery *{box-sizing:border-box}
.tag-gallery{--tag-green:#055d2b;--tag-ink:#19251e;--tag-muted:#687168;--tag-cols:3;--tag-tablet:2;--tag-mobile:1;--tag-gap:8px;--tag-fit:cover;--tag-active-cols:var(--tag-cols);width:100%;max-width:100%;min-width:0;font-family:inherit}
.tag-gallery .tag-viewport{min-width:0}
.tag-gallery .tag-track{display:grid;grid-template-columns:repeat(var(--tag-active-cols),minmax(0,1fr));gap:var(--tag-gap)}
.tag-gallery .tag-item{min-width:0;margin:0}
.tag-gallery .tag-open{display:block;position:relative;width:100%;padding:0;border:0;border-radius:0;background:#f2f4f2;overflow:hidden;cursor:zoom-in;aspect-ratio:1;text-align:left}
.tag-gallery .tag-photo{display:block;width:100%;height:100%;max-width:none;object-fit:var(--tag-fit);transition:transform .35s ease}
.tag-gallery .tag-open:hover .tag-photo{transform:scale(1.035)}
.tag-gallery .tag-item figcaption{padding:9px 2px;font-size:13px;color:#555}
.tag-gallery.tag-slider .tag-viewport{overflow:hidden}
.tag-gallery.tag-slider .tag-track{display:flex;gap:var(--tag-gap);transition:transform .4s ease;will-change:transform}
.tag-gallery.tag-slider .tag-item{flex:0 0 calc((100% - (var(--tag-active-cols) - 1)*var(--tag-gap))/var(--tag-active-cols))}
.tag-gallery .tag-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px;color:var(--tag-green)}
.tag-gallery .tag-controls button{width:44px;height:44px;border:1px solid #cbd8ce;background:#fff;color:var(--tag-green);border-radius:50%;cursor:pointer;font-size:20px}
.tag-gallery .tag-controls button:hover:not(:disabled){background:#edf5ef}
.tag-gallery .tag-controls button:disabled{opacity:.35;cursor:not-allowed}
.tag-gallery .tag-count{font-size:13px;font-weight:700}
.tag-gallery .tag-editorial-shell{width:100%;padding:clamp(28px,5vw,70px) clamp(16px,3vw,32px);background:#f5f6f3;color:var(--tag-ink);font-family:Manrope,Arial,sans-serif}
.tag-gallery .tag-editorial-shell.tag-bg-white{background:#fff}
.tag-gallery .tag-editorial-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:32px;align-items:end;margin:0 0 32px}
.tag-gallery .tag-editorial-eyebrow{display:block;margin:0 0 12px;color:var(--tag-green);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tag-gallery .tag-editorial-heading h2{margin:0;color:var(--tag-ink);font-size:clamp(28px,3.4vw,47px);line-height:1.16;letter-spacing:-.04em;font-weight:800}
.tag-gallery .tag-editorial-heading p{margin:0;color:var(--tag-muted);font-size:15px;line-height:1.8}
.tag-gallery .tag-filters{display:flex;flex-wrap:wrap;gap:9px;padding:0 0 20px;margin:0 0 25px;border-bottom:1px solid #dce2da}
.tag-gallery .tag-filter{appearance:none;border:1px solid #d2dbd2;background:transparent;color:#36443a;min-height:44px;padding:10px 16px;border-radius:2px;font:700 13px/1.4 Manrope,Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.tag-gallery .tag-filter:hover,.tag-gallery .tag-filter.is-active{background:var(--tag-green);border-color:var(--tag-green);color:#fff}
.tag-gallery .tag-filter:focus-visible,.tag-gallery .tag-open:focus-visible,.tag-gallery .tag-controls button:focus-visible{outline:3px solid var(--tag-green);outline-offset:3px}
.tag-gallery .tag-editorial-grid{display:grid;grid-template-columns:repeat(var(--tag-active-cols),minmax(0,1fr));grid-auto-flow:dense;gap:var(--tag-gap)}
.tag-gallery .tag-editorial-card{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:#e4e9e3;aspect-ratio:1/1}
.tag-gallery .tag-editorial-card[hidden],.tag-gallery .tag-editorial-empty[hidden]{display:none!important}
.tag-gallery .tag-editorial-card.tag-feature{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.tag-gallery .tag-editorial-card .tag-editorial-image{display:block;position:relative;width:100%;height:100%;min-height:0;aspect-ratio:auto;padding:0;border:0;border-radius:0;background:#e4e9e3;overflow:hidden;cursor:zoom-in;text-align:left}
.tag-gallery .tag-editorial-image .tag-photo{display:block;width:100%;height:100%;max-width:none;object-fit:var(--tag-fit);transition:transform .45s ease}
.tag-gallery .tag-editorial-image:hover .tag-photo{transform:scale(1.045)}
.tag-gallery .tag-editorial-overlay{position:absolute;inset:auto 0 0;padding:55px 20px 20px;background:linear-gradient(transparent,rgba(14,24,17,.86));color:#fff;pointer-events:none}
.tag-gallery .tag-editorial-overlay small{display:block;margin-bottom:6px;color:#d1e3d3;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.tag-gallery .tag-editorial-overlay strong{display:block;color:#fff;font-size:clamp(15px,1.5vw,23px);font-weight:800;line-height:1.3}
.tag-gallery .tag-editorial-zoom{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(20,30,22,.48);color:#fff;font-size:22px;pointer-events:none}
.tag-gallery .tag-editorial-empty{margin:18px 0;padding:20px;color:var(--tag-muted)}
.tag-gallery .tag-editorial-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:24px;border-left:4px solid var(--tag-green);background:#e9eee8}
.tag-gallery .tag-editorial-cta p{margin:0;color:#455148;font-size:14px;line-height:1.7}
.tag-gallery .tag-editorial-cta a{color:var(--tag-green);font-weight:800;font-size:14px;text-decoration:none;white-space:nowrap}
.tag-gallery .tag-editorial-cta a:hover{text-decoration:underline}
.tag-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.93);display:flex;align-items:center;justify-content:center;padding:55px 45px}
.tag-lightbox[hidden]{display:none!important}
.tag-lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.tag-lightbox button{position:absolute;border:0;background:#ffffff22;color:#fff;font-size:28px;width:44px;height:44px;cursor:pointer}
.tag-lightbox button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.tag-lightbox .tag-lb-close{top:12px;right:12px}
.tag-lightbox .tag-lb-prev{left:8px;top:50%}
.tag-lightbox .tag-lb-next{right:8px;top:50%}
@media(max-width:900px){.tag-gallery{--tag-active-cols:var(--tag-tablet)}.tag-gallery .tag-editorial-heading{grid-template-columns:1fr;gap:15px}}
@media(max-width:560px){.tag-gallery{--tag-active-cols:var(--tag-mobile)}.tag-gallery .tag-editorial-cta{align-items:flex-start;flex-direction:column}.tag-gallery .tag-editorial-overlay{padding:35px 14px 14px}.tag-lightbox{padding:60px 15px}}
/* The featured card cannot span more columns than are available. */
@media(min-width:901px){.tag-gallery[style*="--tag-cols:1;"] .tag-feature{grid-column:span 1;grid-row:span 1;aspect-ratio:1}}
@media(min-width:561px) and (max-width:900px){.tag-gallery[style*="--tag-tablet:1;"] .tag-feature{grid-column:span 1;grid-row:span 1;aspect-ratio:1}}
@media(max-width:560px){.tag-gallery[style*="--tag-mobile:1;"] .tag-feature{grid-column:span 1;grid-row:span 1;aspect-ratio:1}}
@media(prefers-reduced-motion:reduce){.tag-gallery .tag-photo,.tag-gallery .tag-track,.tag-gallery .tag-filter{transition:none}}

/* v4 appearance system: scoped to each gallery instance */
.tag-gallery{--tag-radius:0px;--tag-ratio:1/1;--tag-overlay-alpha:.86}
.tag-gallery .tag-open,.tag-gallery .tag-editorial-card,.tag-gallery .tag-editorial-image{border-radius:var(--tag-radius)}
.tag-gallery .tag-item .tag-open,.tag-gallery .tag-editorial-card{aspect-ratio:var(--tag-ratio)}
.tag-gallery .tag-editorial-card.tag-feature{aspect-ratio:auto}
.tag-gallery .tag-editorial-overlay{background:linear-gradient(transparent,rgba(14,24,17,var(--tag-overlay-alpha)))}
.tag-gallery.tag-hover-none .tag-photo,.tag-gallery.tag-hover-none .tag-open:hover .tag-photo,.tag-gallery.tag-hover-none .tag-editorial-image:hover .tag-photo{transform:none;transition:none}
.tag-gallery.tag-hover-lift .tag-open,.tag-gallery.tag-hover-lift .tag-editorial-card{transition:transform .3s ease}
.tag-gallery.tag-hover-lift .tag-open:hover,.tag-gallery.tag-hover-lift .tag-editorial-card:hover{transform:translateY(-4px)}
.tag-gallery.tag-hover-lift .tag-open:hover .tag-photo,.tag-gallery.tag-hover-lift .tag-editorial-image:hover .tag-photo{transform:none}
.tag-gallery.tag-preset-soft .tag-open,.tag-gallery.tag-preset-soft .tag-editorial-card{box-shadow:0 8px 25px rgba(0,0,0,.07)}
.tag-gallery.tag-preset-minimal .tag-editorial-shell{background:#fff}
@media(prefers-reduced-motion:reduce){.tag-gallery.tag-hover-lift .tag-open,.tag-gallery.tag-hover-lift .tag-editorial-card{transition:none;transform:none!important}}

/* v4.7 per-gallery navigation design: works in native Elementor widget and shortcodes */
.tag-gallery .tag-controls{position:relative;min-height:var(--tag-arrow-size);flex-wrap:wrap;gap:14px;color:var(--tag-nav-color)}
.tag-gallery .tag-arrow-group{display:flex;align-items:center;gap:12px}
.tag-gallery .tag-controls .tag-arrow-group button{display:grid;place-items:center;width:var(--tag-arrow-size);height:var(--tag-arrow-size);padding:0;border:1px solid var(--tag-nav-color);border-radius:50%;background:var(--tag-nav-bg);color:var(--tag-nav-color);font:normal 28px/1 Arial,sans-serif;box-shadow:none}
.tag-gallery.tag-arrow-square .tag-arrow-group button{border-radius:0}
.tag-gallery.tag-arrow-rounded .tag-arrow-group button{border-radius:9px}
.tag-gallery.tag-arrow-none .tag-arrow-group button{border:0;border-radius:0;background:transparent}
.tag-gallery .tag-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px;max-width:100%}
.tag-gallery .tag-controls .tag-dot{width:var(--tag-dot-size);height:var(--tag-dot-size);min-width:0;min-height:0;padding:0;border:1px solid var(--tag-nav-color);border-radius:50%;background:transparent;opacity:.6;cursor:pointer}
.tag-gallery .tag-controls .tag-dot[aria-current=true]{background:var(--tag-nav-color);opacity:1;transform:scale(1.2)}
.tag-gallery.tag-dot-square .tag-dot{border-radius:0}
.tag-gallery.tag-dot-pill .tag-dot{width:calc(var(--tag-dot-size)*2.2);border-radius:99px}
.tag-gallery.tag-dot-line .tag-dot{width:calc(var(--tag-dot-size)*2.8);height:3px;border-radius:0}
.tag-gallery.tag-arrow-pos-overlay .tag-arrow-group{position:absolute;left:12px;right:12px;bottom:calc(100% + 16px);justify-content:space-between;pointer-events:none;z-index:2}
.tag-gallery.tag-arrow-pos-overlay .tag-arrow-group button{pointer-events:auto}
.tag-gallery.tag-dot-pos-overlay .tag-dots{position:absolute;bottom:calc(100% + 12px);left:15%;right:15%;z-index:2}
.tag-gallery.tag-nav-dots .tag-arrow-group,.tag-gallery.tag-nav-arrows .tag-dots{display:none}
.tag-gallery .tag-controls .tag-dot:focus-visible{outline:3px solid var(--tag-nav-color);outline-offset:4px}
@media(max-width:560px){.tag-gallery .tag-controls{gap:10px}.tag-gallery.tag-arrow-pos-overlay .tag-arrow-group{left:4px;right:4px}}
@media(prefers-reduced-motion:reduce){.tag-gallery .tag-dot{transition:none;transform:none!important}}
