/*!
 * Themeasy — Hotspot Image Widget Styles
 *
 * Interactive image with positioned pins (hotspots) that reveal rich tooltips.
 * Ships three skins (dot / marker / numbered) and two triggers (hover / click)
 * with keyboard and reduced-motion friendly fallbacks.
 *
 * Public tokens (--tms-*) only — never private (--themeasy-*).
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-hotspot-image{--tms-hotspot-size:28px;--tms-hotspot-pulse-duration:1.8s;--tms-hotspot-tooltip-bg:#1f2937;width:100%;display:block;position:relative}.tms-hotspot-image__frame{width:100%;margin:0 auto;display:block;position:relative;overflow:visible}.tms-hotspot-image__img{border-radius:inherit;width:100%;height:auto;display:block}.tms-hotspot-image__hotspots{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.tms-hotspot-image__point{--tms-hotspot-size:28px;--tms-hotspot-tooltip-offset:14px;pointer-events:none;width:0;height:0;position:absolute}.tms-hotspot-image__hotspot{width:var(--tms-hotspot-size);height:var(--tms-hotspot-size);background-color:var(--tms-primary-color);color:#fff;cursor:pointer;pointer-events:auto;font:inherit;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;transition:background-color .25s,color .25s,transform .25s;display:inline-flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.tms-hotspot-image__hotspot-ring{--tms-hotspot-pulse-fallback:color-mix(in srgb, var(--tms-hotspot-bg,var(--tms-primary-color,#4f46e5)) 45%, transparent);border-radius:inherit;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.tms-hotspot-image__hotspot-inner{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex;position:relative}.tms-hotspot-image__hotspot-icon{font-size:calc(var(--tms-hotspot-size) * 2 / 3);justify-content:center;align-items:center;line-height:1;display:inline-flex}.tms-hotspot-image__hotspot-icon svg{fill:currentColor;width:1em;height:1em;display:block}.tms-hotspot-image__hotspot-icon svg[fill=none]{fill:none;stroke:currentColor}.tms-hotspot-image__hotspot-icon img{width:1em;height:1em;display:block}.tms-hotspot-image__hotspot-number{width:100%;height:100%;font-size:calc(var(--tms-hotspot-size) * .45);justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.tms-hotspot-image__hotspot:hover,.tms-hotspot-image__hotspot--open{transform:translate(-50%,-50%)scale(1.1)}.tms-hotspot-image__hotspot:focus-visible{transform:translate(-50%,-50%)scale(1.1)}.tms-hotspot-image--skin-dot .tms-hotspot-image__hotspot-inner{background-color:#ffffffe6;border-radius:50%;width:55%;height:55%}.tms-hotspot-image--skin-marker .tms-hotspot-image__hotspot{transform-origin:50% 100%;transform:translate(-50%,-100%)}.tms-hotspot-image--skin-marker .tms-hotspot-image__hotspot:before{content:"";background-color:inherit;z-index:-1;border-radius:0;width:10px;height:10px;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)rotate(45deg)}.tms-hotspot-image--skin-marker .tms-hotspot-image__hotspot:hover,.tms-hotspot-image--skin-marker .tms-hotspot-image__hotspot--open{transform:translate(-50%,-100%)scale(1.1)}.tms-hotspot-image--skin-marker .tms-hotspot-image__hotspot:focus-visible{transform:translate(-50%,-100%)scale(1.1)}.tms-hotspot-image--skin-numbered .tms-hotspot-image__hotspot{min-width:var(--tms-hotspot-size);min-height:var(--tms-hotspot-size)}.tms-hotspot-image--pulse .tms-hotspot-image__hotspot .tms-hotspot-image__hotspot-ring:before,.tms-hotspot-image--pulse .tms-hotspot-image__hotspot .tms-hotspot-image__hotspot-ring:after{content:"";border-radius:inherit;background-color:var(--tms-hotspot-pulse-color,var(--tms-hotspot-pulse-fallback));pointer-events:none;animation:tms-hotspot-pulse var(--tms-hotspot-pulse-duration,1.8s) ease-out infinite;position:absolute;top:0;bottom:0;left:0;right:0}.tms-hotspot-image--pulse .tms-hotspot-image__hotspot .tms-hotspot-image__hotspot-ring:after{animation-delay:calc(var(--tms-hotspot-pulse-duration,1.8s) / 2)}@keyframes tms-hotspot-pulse{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}.tms-hotspot-image__tooltip{z-index:5;background-color:var(--tms-hotspot-tooltip-bg,#1f2937);color:#fff;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;min-width:180px;max-width:260px;padding:.875rem 1rem;transition:opacity .2s,visibility 0s linear .2s;position:absolute;top:0;left:0}.tms-hotspot-image__tooltip-media{margin:calc(-1 * var(--tms-hotspot-tooltip-padding-top,.875rem)) calc(-1 * var(--tms-hotspot-tooltip-padding-right,1rem)) .75rem calc(-1 * var(--tms-hotspot-tooltip-padding-left,1rem));border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}.tms-hotspot-image__tooltip-img{width:100%;height:auto;display:block}.tms-hotspot-image__tooltip-heading{color:inherit;margin:0 0 .35rem;font-size:1rem;font-weight:700;line-height:1.3}.tms-hotspot-image__tooltip-description{color:inherit;margin:0;font-size:.875rem;line-height:1.5}.tms-hotspot-image__tooltip-link{color:var(--tms-accent-color,#fff);align-items:center;gap:.35rem;margin-top:.65rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.tms-hotspot-image__tooltip-link:hover{opacity:.8;text-decoration:underline}.tms-hotspot-image__tooltip-link:focus-visible{opacity:.8;text-decoration:underline}.tms-hotspot-image__tooltip-arrow{background-color:inherit;pointer-events:none;width:10px;height:10px;position:absolute}.tms-hotspot-image--no-arrow .tms-hotspot-image__tooltip-arrow{display:none}.tms-hotspot-image__tooltip[data-position=top]{top:auto;left:0;bottom:calc(var(--tms-hotspot-size,28px) / 2 + var(--tms-hotspot-tooltip-offset,14px));transform:translateX(calc(-50% + var(--tms-hotspot-tooltip-shift,0px)))}.tms-hotspot-image__tooltip[data-position=top] .tms-hotspot-image__tooltip-arrow{left:calc(50% - var(--tms-hotspot-tooltip-shift,0px));bottom:-5px;transform:translate(-50%)rotate(45deg)}.tms-hotspot-image__tooltip[data-position=bottom]{left:0;top:calc(var(--tms-hotspot-size,28px) / 2 + var(--tms-hotspot-tooltip-offset,14px));transform:translateX(calc(-50% + var(--tms-hotspot-tooltip-shift,0px)))}.tms-hotspot-image__tooltip[data-position=bottom] .tms-hotspot-image__tooltip-arrow{left:calc(50% - var(--tms-hotspot-tooltip-shift,0px));top:-5px;transform:translate(-50%)rotate(45deg)}.tms-hotspot-image__tooltip[data-position=right]{left:calc(var(--tms-hotspot-size,28px) / 2 + var(--tms-hotspot-tooltip-offset,14px));transform:translateY(calc(-50% + var(--tms-hotspot-tooltip-shift,0px)));top:0}.tms-hotspot-image__tooltip[data-position=right] .tms-hotspot-image__tooltip-arrow{left:-5px;top:calc(50% - var(--tms-hotspot-tooltip-shift,0px));transform:translateY(-50%)rotate(45deg)}.tms-hotspot-image__tooltip[data-position=left]{left:auto;right:calc(var(--tms-hotspot-size,28px) / 2 + var(--tms-hotspot-tooltip-offset,14px));transform:translateY(calc(-50% + var(--tms-hotspot-tooltip-shift,0px)));top:0}.tms-hotspot-image__tooltip[data-position=left] .tms-hotspot-image__tooltip-arrow{right:-5px;top:calc(50% - var(--tms-hotspot-tooltip-shift,0px));transform:translateY(-50%)rotate(45deg)}.tms-hotspot-image--skin-marker .tms-hotspot-image__tooltip[data-position=top]{bottom:calc(var(--tms-hotspot-size,28px) + var(--tms-hotspot-tooltip-offset,14px))}.tms-hotspot-image--skin-marker .tms-hotspot-image__tooltip[data-position=bottom]{top:var(--tms-hotspot-tooltip-offset,14px)}.tms-hotspot-image--skin-marker .tms-hotspot-image__tooltip[data-position=left],.tms-hotspot-image--skin-marker .tms-hotspot-image__tooltip[data-position=right]{top:calc(-1 * var(--tms-hotspot-size,28px) / 2)}@media (hover:hover){.tms-hotspot-image--trigger-hover .tms-hotspot-image__point:hover .tms-hotspot-image__tooltip{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s,visibility linear}}.tms-hotspot-image--trigger-hover .tms-hotspot-image__point:has(:focus-visible) .tms-hotspot-image__tooltip{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s,visibility linear}@supports not selector(:has(*)){.tms-hotspot-image--trigger-hover .tms-hotspot-image__point:focus-within .tms-hotspot-image__tooltip{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s,visibility linear}}.tms-hotspot-image__point--open .tms-hotspot-image__tooltip{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s,visibility linear}.tms-hotspot-image--trigger-hover .tms-hotspot-image__point.tms-hotspot-image__point--dismissed .tms-hotspot-image__tooltip{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility 0s linear .2s}@media (hover:hover){.tms-hotspot-image--trigger-hover .tms-hotspot-image__point:hover .tms-hotspot-image__tooltip:before{content:""}.tms-hotspot-image--trigger-hover .tms-hotspot-image__point:hover,.tms-hotspot-image--trigger-hover .tms-hotspot-image__point:hover .tms-hotspot-image__hotspot{z-index:6}}.tms-hotspot-image__tooltip:before{--tms-hotspot-bridge-depth:calc(var(--tms-hotspot-tooltip-offset,14px) + var(--tms-hotspot-size,28px));--tms-hotspot-bridge-half:calc(var(--tms-hotspot-size,28px) / 2);--tms-hotspot-bridge-center:calc(50% - var(--tms-hotspot-tooltip-shift,0px));position:absolute}.tms-hotspot-image__tooltip[data-position=top]:before{height:var(--tms-hotspot-bridge-depth);clip-path:polygon(0 0, 100% 0, calc(var(--tms-hotspot-bridge-center) + var(--tms-hotspot-bridge-half)) 100%, calc(var(--tms-hotspot-bridge-center) - var(--tms-hotspot-bridge-half)) 100%);top:100%;left:0;right:0}.tms-hotspot-image__tooltip[data-position=bottom]:before{height:var(--tms-hotspot-bridge-depth);clip-path:polygon(calc(var(--tms-hotspot-bridge-center) - var(--tms-hotspot-bridge-half)) 0, calc(var(--tms-hotspot-bridge-center) + var(--tms-hotspot-bridge-half)) 0, 100% 100%, 0 100%);bottom:100%;left:0;right:0}.tms-hotspot-image__tooltip[data-position=right]:before{width:var(--tms-hotspot-bridge-depth);clip-path:polygon(0 calc(var(--tms-hotspot-bridge-center) - var(--tms-hotspot-bridge-half)), 100% 0, 100% 100%, 0 calc(var(--tms-hotspot-bridge-center) + var(--tms-hotspot-bridge-half)));top:0;bottom:0;right:100%}.tms-hotspot-image__tooltip[data-position=left]:before{width:var(--tms-hotspot-bridge-depth);clip-path:polygon(0 0, 100% calc(var(--tms-hotspot-bridge-center) - var(--tms-hotspot-bridge-half)), 100% calc(var(--tms-hotspot-bridge-center) + var(--tms-hotspot-bridge-half)), 0 100%);top:0;bottom:0;left:100%}.tms-hotspot-image__hotspot:focus-visible{outline:2px solid var(--tms-primary-color);outline-offset:3px}@media (prefers-reduced-motion:reduce){.tms-hotspot-image--pulse .tms-hotspot-image__hotspot .tms-hotspot-image__hotspot-ring:before,.tms-hotspot-image--pulse .tms-hotspot-image__hotspot .tms-hotspot-image__hotspot-ring:after{opacity:0;animation:none}.tms-hotspot-image__hotspot,.tms-hotspot-image__tooltip{transition-duration:10ms!important}}