/* Generic diagram layout only. Artwork is supplied by the test HTML. */
.svasti-diagram-enhanced {
    display:block;
    position:relative;
    width:100%;
    max-width:100%;
    margin:1rem auto;
    padding:clamp(6px,1.2vw,12px);
    box-sizing:border-box;
    border:1px solid var(--svasti-diagram-border,rgba(120,155,190,.32));
    border-radius:var(--svasti-diagram-radius,14px);
    background:var(--svasti-diagram-background,transparent);
    overflow:hidden;
    line-height:normal;
}
.svasti-diagram-enhanced > svg,
.svasti-diagram-enhanced > img,
.svasti-diagram-enhanced > picture,
.svasti-diagram-enhanced > canvas,
.svasti-diagram-enhanced .svasti-diagram-graphic {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    margin-inline:auto;
    object-fit:contain;
}
.svasti-diagram-enhanced svg { overflow:visible; }
.svasti-diagram-enhanced figcaption,
.svasti-diagram-enhanced .svasti-diagram-caption {
    margin:.65rem 0 0;
    font-size:.9em;
    line-height:1.45;
    text-align:center;
}
.svasti-diagram-enhanced:focus-within {
    outline:2px solid var(--svasti-diagram-focus,#4ea5d9);
    outline-offset:3px;
}
@media(max-width:640px) {
    .svasti-diagram-enhanced { margin:.75rem auto; padding:4px; border-radius:10px; }
}
@media(prefers-reduced-motion:reduce) {
    .svasti-diagram-enhanced *, .svasti-diagram-enhanced *::before, .svasti-diagram-enhanced *::after {
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}
