/* Pleaseup Hotspots — frontend */
.wphs-figure{position:relative;display:inline-block;line-height:0;max-width:100%}
.wphs-img-overlay{position:absolute;top:0;left:0;overflow:hidden;pointer-events:none;z-index:1}
.wphs-img-overlay .wphs-dot{pointer-events:auto}

/* Dot */
.wphs-figure .wphs-dot{position:absolute !important;transform:translate(-50%,-50%);cursor:pointer;z-index:4;box-sizing:border-box}
.wphs-dot.default{width:18px;height:18px;border-radius:50%;background:#000;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.wphs-dot:hover{}
.wphs-dot.is-open{}

/* Layer (tooltip) — wrapper for overflow:visible so tail shows */
.wphs-figure .wphs-layer-wrap{position:absolute !important;z-index:3;left:0;top:0;display:none;max-width:90%}
.wphs-figure .wphs-layer{position:relative;z-index:2;min-width:180px;max-width:320px;padding:12px 14px;line-height:1.5;box-shadow:0 8px 32px rgba(0,0,0,.22);overflow-y:auto;overscroll-behavior:contain}

.wphs-gallery-slide{display:flex;flex-direction:column}.wphs-slide-caption{padding:18px 20px 20px;text-align:left;flex:0 0 auto}.wphs-slide-caption-title{margin:0 0 6px;font-weight:700;font-size:16px;line-height:1.3}.wphs-slide-caption-desc{margin:0;font-size:14px;line-height:1.6;opacity:.75}.wphs-figure .wphs-layer a,.wphs-figure .wphs-layer a:visited,.wphs-figure .wphs-layer a:active{color:inherit;text-decoration:underline;opacity:.85}to{opacity:1;transform:translateY(0)}}
.wphs-figure .wphs-layer img{max-width:100%;height:auto}.wphs-figure .wphs-layer{word-break:break-word;overflow-wrap:anywhere}.wphs-oembed-wrap{display:block;width:100%;aspect-ratio:16/9;position:relative;overflow:hidden}.wphs-oembed-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}

/* Tail */

/* Gallery slider */
.wphs-gallery{position:relative;width:100%;overflow:hidden;box-sizing:border-box}
.wphs-gallery-track{display:flex;width:100%;transition:transform .35s ease;align-items:center}
.wphs-gallery-slide{min-width:100%;width:100%;flex-shrink:0;box-sizing:border-box}
.wphs-gallery-slide .wphs-figure{display:block;width:100%;line-height:0}
.wphs-gallery-slide .wphs-figure img{width:100%;height:auto;display:block}
.wphs-gallery-slide img{width:100%;height:auto;display:block}#wphs-gallery-preview .wphs-gallery-slide{display:flex;flex-direction:column}#wphs-gallery-preview .wphs-slide-caption{background:#111827;padding:18px 20px 20px;text-align:left;flex:0 0 auto}#wphs-gallery-preview .wphs-slide-caption-title{margin:0 0 6px;font-weight:700;font-size:16px;line-height:1.3;color:inherit}#wphs-gallery-preview .wphs-slide-caption-desc{margin:0;font-size:14px;line-height:1.6;color:inherit;opacity:.85}

/* A11y (Phase 8) — focus indicator + reduced-motion fallback */
.wphs-figure .wphs-dot:focus{outline:none}
.wphs-figure .wphs-dot:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 4px rgba(0,0,0,.55)}
.wphs-gallery .wphs-gl-arrow:focus-visible,.wphs-gallery .wphs-gl-dot:focus-visible{outline:2px solid #fff;outline-offset:2px}
.wphs-figure .wphs-layer-wrap[role="dialog"]{outline:none}
@media (prefers-reduced-motion: reduce){.wphs-gallery-track{transition:none !important}.wphs-figure .wphs-dot{transition:none !important}.wphs-figure .wphs-layer-wrap{transition:none !important}}

/* Gallery slider — dynamic sizing via CSS custom properties.
 * cols-d / cols-m / img-radius are set by ShortcodeGallery as inline
 * `style` on the .wphs-gallery wrapper, so no inline <style> tag is
 * emitted. Defaults below keep the layout sane if a host strips the
 * inline custom-property values. */
.wphs-gallery{--wphs-cols-d:1;--wphs-cols-m:1;--wphs-img-radius:0px}
.wphs-gallery[data-cols-d] .wphs-gallery-slide{min-width:calc(100% / var(--wphs-cols-d));width:calc(100% / var(--wphs-cols-d));padding:0 4px}
@media (max-width:600px){.wphs-gallery[data-cols-d] .wphs-gallery-slide{min-width:calc(100% / var(--wphs-cols-m));width:calc(100% / var(--wphs-cols-m))}}
.wphs-gallery[data-cols-d] .wphs-gallery-slide .wphs-figure img,
.wphs-gallery[data-cols-d] .wphs-gallery-slide img{border-radius:var(--wphs-img-radius)}
.wphs-gallery[data-cols-d] .wphs-gallery-slide.has-caption .wphs-figure img,
.wphs-gallery[data-cols-d] .wphs-gallery-slide.has-caption img{border-radius:var(--wphs-img-radius) var(--wphs-img-radius) 0 0 !important}
.wphs-gallery[data-cols-d] .wphs-gallery-slide.has-caption .wphs-slide-caption{border-radius:0 0 var(--wphs-img-radius) var(--wphs-img-radius)}
