.node-photo-link {
    cursor: pointer;
    outline: none;
}

.node-photo-polaroid {
    fill: #fffdf8;
    stroke: #6a5541;
    stroke-width: 1.25;
    vector-effect: non-scaling-stroke;
    transition: fill 120ms ease, stroke 120ms ease, transform 120ms ease;
}

.node-photo-window {
    fill: #e5ebe7;
    stroke: #8f877b;
    stroke-width: 0.9;
    vector-effect: non-scaling-stroke;
}

.node-photo-landscape,
.node-photo-caption-line {
    fill: none;
    stroke: #315b4f;
    stroke-width: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.node-photo-sun {
    fill: #8f877b;
}

.node-photo-count-bg {
    fill: #315b4f;
    stroke: none;
}

.node-photo-count-text {
    dominant-baseline: middle;
    text-anchor: middle;
    fill: #fffdf8;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: -0.02em;
    pointer-events: none;
}

.node-photo-link:hover .node-photo-polaroid,
.node-photo-link:focus-visible .node-photo-polaroid {
    fill: #e9dfd1;
    stroke: #315b4f;
}

.node-photo-link:hover .node-photo-count-bg,
.node-photo-link:focus-visible .node-photo-count-bg {
    fill: #6a5541;
}

.node-photo-link:hover,
.node-photo-link:focus-visible {
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(1.08);
}
