.dks3dvista-tour {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: var(--dks3dvista-ratio, 56.25%);
    overflow: hidden;
    background: #000;
    margin: 1.5rem 0;
    border-radius: 4px;
}

.dks3dvista-tour iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.dks3dvista-upload-controls {
    box-sizing: border-box;
    padding: 14px;
    border: 1px solid #dcdcde;
    border-radius: 4px;
    background: #fff;
}

.dks3dvista-current {
    padding: 10px 12px;
    margin-bottom: 12px;
    background: #f6f7f7;
    border-left: 4px solid #2271b1;
}

.dks3dvista-current p {
    margin: 0 0 8px;
    overflow-wrap: anywhere;
}

.dks3dvista-gd-field {
    margin: 1rem 0;
}

.dks3dvista-diagnostics td:first-child {
    width: 220px;
    font-weight: 600;
}

.dks-ok { color: #008a20; }
.dks-error { color: #b32d2e; }

.dks3dvista-actions {
    margin: 12px 0;
}

.dks3dvista-upload-button[disabled] {
    cursor: not-allowed;
    opacity: .65;
}

.dks3dvista-progress-wrap {
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #c3c4c7;
    border-radius: 4px;
    background: #f6f7f7;
}

.dks3dvista-progress {
    position: relative;
    width: 100%;
    height: 18px;
    overflow: hidden;
    border-radius: 999px;
    background: #dcdcde;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .08);
}

.dks3dvista-progress span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #2271b1;
    transition: width .15s linear;
}

.dks3dvista-progress-wrap.is-processing .dks3dvista-progress span {
    background-image: linear-gradient(
        135deg,
        rgba(255, 255, 255, .2) 25%,
        transparent 25%,
        transparent 50%,
        rgba(255, 255, 255, .2) 50%,
        rgba(255, 255, 255, .2) 75%,
        transparent 75%,
        transparent
    );
    background-size: 28px 28px;
    animation: dks3dvista-progress-stripes 1s linear infinite;
}

.dks3dvista-progress-wrap.is-success {
    border-color: #00a32a;
    background: #edfaef;
}

.dks3dvista-progress-wrap.is-success .dks3dvista-progress span {
    background: #00a32a;
}

.dks3dvista-progress-wrap.is-error {
    border-color: #d63638;
    background: #fcf0f1;
}

.dks3dvista-progress-wrap.is-error .dks3dvista-progress span {
    background: #d63638;
}

.dks3dvista-status {
    margin: 9px 0 0;
    font-weight: 600;
}

.dks3dvista-progress-wrap.is-error .dks3dvista-status {
    color: #b32d2e;
}

.dks3dvista-progress-wrap.is-success .dks3dvista-status {
    color: #008a20;
}

.dks3dvista-upload-controls.is-uploading .dks3dvista-file-input {
    opacity: .65;
}

@keyframes dks3dvista-progress-stripes {
    from { background-position: 0 0; }
    to { background-position: 28px 0; }
}
