hs-navigation  {
    position: absolute;
    left: 50%; top: 50%; width: 100%; height: 100%;
    transform: translate(-50%,-50%) scale(1);
    opacity: 1;
    transition: transform var(--transition-duration), opacity var(--transition-duration);
    z-index: 1; /* Peter H - Default stacking */
}

/* Peter H - Raise z-index when hovered/open so tooltip appears above adjacent hotspots */
hs-navigation:hover,
hs-navigation.open {
    z-index: 1000;
}

hs-navigation hs-navigation-title { /* Dev 2 - Tooltip positioned above hotspot */
    position: absolute;
    left: 50%; bottom: 100%; width: auto; height: auto;
    transform: translate(-50%, clamp(-20px, calc(-15px - 0.15vw), -16px)) scale(0); /* John R - Clamp formula for gentle scaling */
    transform-origin: bottom;
    border-radius: var(--hs-nav-tooltip-radius, 100px); /* Gerald Ashover - v7 token */
    background-color: var(--hs-nav-tooltip-bg, rgba(0,0,0,0.9)); /* Gerald Ashover - v7 token */
    font-family: var(--font-primary);
    font-size: var(--hs-nav-tooltip-font-size, 1.6rem); /* Gerald Ashover - v7 token */
    padding: var(--hs-nav-tooltip-padding, 1.3rem 2.5rem); /* Gerald Ashover - v7 token */
    color: var(--hs-nav-tooltip-color, #ffffff); /* Gerald Ashover - v7 token */
    white-space: nowrap;
    text-align: center; /* Peter H - Center align nav_title text */
    transition: opacity calc(var(--transition-duration) / 2), transform calc(var(--transition-duration) / 2);
    transition-delay: 0.1s;
    opacity: 0;
    pointer-events: none;
    z-index: 0;
}

hs-navigation hs-navigation-title::before { /* Dev 2 - Arrow pointing down from tooltip */
    content: '';
    position: absolute;
    left: 50%; top: calc(100% - 1px); transform: translate(-50%,0); /* Gerald Ashover - 1px overlap closes the sub-pixel seam */
    width: 0px; height: 0px;
    border-style: solid;
    border-width: 1rem 0.7rem 0 0.7rem; /* John R - Changed to rem for clamp scaling */
    border-color: var(--hs-nav-tooltip-bg, rgba(0,0,0,0.9)) transparent transparent transparent; /* Gerald Ashover - v7 token (caret matches tooltip bg) */
}

hs-navigation:hover hs-navigation-title, /* Dev 2 - Show tooltip above on hover */
hs-navigation.open hs-navigation-title {
    opacity: 1;
    transform: translate(-50%, clamp(-40px, calc(-30px - 0.3vw), -32px)) scale(1); /* John R - Clamp formula for gentle scaling */
    transition-delay: 0.0s;
}

hs-navigation .ring-big { /* Dev 2 - Pulsing ring animation */
    position: absolute;
    left: 50%; top: 50%; width: 100%; height: 100%;
    transform: translate(-50%,-50%) scale(1);
    border-radius: var(--hs-nav-ring-radius, 100px); /* Gerald Ashover - v7 token */
    border: var(--hs-nav-ring-border-width, 2px) solid var(--hs-nav-ring-color, rgba(255,255,255,1)); /* Gerald Ashover - v7 token */
    pointer-events: none;
    opacity: var(--hs-nav-ring-opacity, 0.5); /* Gerald Ashover - v7 token */
    transition: opacity var(--transition-duration);
    z-index: 0;
    animation: hs_navigation_ring_pulse var(--hs-nav-ring-pulse-duration, 2s) infinite linear; /* Gerald Ashover - v7 token */
}

hs-navigation:hover .ring-big {
    opacity: var(--hs-nav-ring-opacity-hover, 1); /* Gerald Ashover - v7 token */
}

hs-navigation .thumb {
    position: absolute;
    left: 50%; top: 50%; width: 100%; height: 100%;
    transform: translate(-50%,-50%) scale(1);
    overflow: hidden;
    background-color: rgba(0,0,0,0.0);
    border-radius: var(--hs-nav-thumb-radius, 100px); /* Gerald Ashover - v7 token */
    border: var(--hs-nav-thumb-border-width, 3px) solid var(--hs-nav-thumb-border-color, rgba(255,255,255,1)); /* Gerald Ashover - v7 token */
    pointer-events: none;
    transition: transform var(--transition-duration);
    box-shadow: var(--hs-nav-thumb-shadow, 0 0 5px rgba(0,0,0,0.7)); /* Gerald Ashover - v7 token */
}

/* Charles Gratiot Jr. - Group color from database at 30% opacity */
hs-navigation[style*="--group-color"] .thumb {
    background-color: rgba(var(--group-color-rgb), var(--hs-nav-thumb-group-bg-opacity, 0.3)); /* Gerald Ashover - v7 token (opacity only; color stays data-driven) */
}


hs-navigation .thumb::after {
    content: '';
    position: absolute;
    left: 0%; top: 0%; width: 100%; height: 100%;
    border-radius: var(--hs-nav-thumb-radius, 100px); /* Gerald Ashover - v7 token */
    box-shadow: 0 0 15px inset rgba(0,0,0,1) ;
}

hs-navigation .thumb img {
    position: absolute;
    left: 50%; top: 50%; width: 100%; height: 100%;
    transition: transform var(--transition-duration), opacity var(--transition-duration), filter var(--transition-duration);
    transform: translate(-50%,-50%) scale(0);
    border-radius: var(--hs-nav-thumb-radius, 100px); /* Gerald Ashover - v7 token */
    object-fit: cover;
    opacity: 0;
    filter: blur(var(--hs-nav-thumb-img-blur, 20px)); /* Gerald Ashover - v7 token */
    z-index: 0;
}


hs-navigation:hover .thumb,
hs-navigation.open .thumb {
    transform: translate(-50%,-50%) scale(var(--hs-nav-thumb-hover-scale, 1.5)); /* Gerald Ashover - v7 token */
}

hs-navigation:hover .thumb img,
hs-navigation.open .thumb img {
    transform: translate(-50%,-50%) scale(var(--hs-nav-thumb-img-hover-scale, 1.2)); /* Gerald Ashover - v7 token */
    opacity: 1;
    filter: blur(0px);
}

hs-navigation .icon  {
    position: absolute;
    left: 50%; top: 50%; width: 100%; height: 100%;
    transform: translate(-50%,-50%) scale(1);
    overflow: hidden;
    /* background-color: rgba(255,0,0,0.5); */
    /* pointer-events: all; */
    transition: transform var(--transition-duration);
    z-index: 100;
}

hs-navigation .icon svg {
    width: 100%; height: 100%;
}



/* Peter H - Hide icon div when empty (no icon_path set) */
hs-navigation .icon:empty {
    display: none;
}

/* Peter H - Icon fade out on hover for specific hotspots
   Applied via icon_hover_hide="true" attribute in tour.xml */
hs-navigation .icon {
    transition: transform var(--transition-duration), opacity var(--transition-duration);
    opacity: 1;
}

hs-navigation.icon-hover-hide:hover .icon,
hs-navigation.icon-hover-hide.open .icon {
    opacity: 0;
}

body.hs-scale-down hs-navigation {
    opacity: var(--hs-nav-scaledown-opacity, 0.5); /* Gerald Ashover - v7 token */
    transform: translate(-50%,-50%) scale(var(--hs-nav-scaledown-scale, 0.6)); /* Gerald Ashover - v7 token */
}

@keyframes hs_navigation_ring_pulse { /* Dev 2 - Pulsing animation */
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1);
    }

    50% {
        opacity: 0.5;
        transform: translate(-50%, -50%) scale(1.2);
    }

    100% {
        transform: translate(-50%, -50%) scale(1.4);
        opacity: 0
    }
}
