#get3d-viewer-root {
    width: 100%;
    margin-bottom: 20px;
}

.get3d-viewer {
    position: relative;

    width: 100%;
    height: 390px;

    overflow: hidden;

    background: #f7f7f8;

    border: 1px solid var(--border);
    border-radius: var(--radius);

    isolation: isolate;
}

.get3d-viewer__canvas {
    display: block;

    width: 100%;
    height: 100%;

    cursor: grab;

    touch-action: none;
}

.get3d-viewer__canvas:active {
    cursor: grabbing;
}

.get3d-viewer__overlay {
    position: absolute;

    inset: 0;

    z-index: 5;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background: rgba(247, 247, 248, 0.94);

    text-align: center;
}

.get3d-viewer__overlay.hidden {
    display: none;
}

.get3d-viewer__message {
    max-width: 380px;

    color: var(--text-muted);

    font-size: 14px;

    line-height: 1.6;
}

.get3d-viewer__message strong {
    display: block;

    margin-bottom: 7px;

    color: var(--text);

    font-size: 16px;
}

.get3d-viewer__toolbar {
    position: absolute;

    top: 12px;
    right: 12px;

    z-index: 6;
}

.get3d-viewer__reset {
    min-height: 38px;

    padding: 0 13px;

    border: 1px solid var(--border);

    border-radius: 8px;

    background: rgba(255, 255, 255, 0.94);

    color: var(--text);

    font-family: inherit;

    font-size: 13px;
    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 2px 10px
        rgba(0, 0, 0, 0.05);

    transition:
        background 0.15s ease,
        border-color 0.15s ease;
}

.get3d-viewer__reset:hover {
    background: #ffffff;

    border-color: #c7c7cb;
}

.get3d-viewer__hint {
    position: absolute;

    left: 12px;
    bottom: 12px;

    z-index: 4;

    padding: 7px 11px;

    border: 1px solid var(--border);

    border-radius: 999px;

    background: rgba(255, 255, 255, 0.92);

    color: var(--text-muted);

    font-size: 11px;

    pointer-events: none;
}

@media (max-width: 600px) {

    .get3d-viewer {
        height: 300px;
    }

    .get3d-viewer__hint {
        display: none;
    }

    .get3d-viewer__reset {
        font-size: 12px;
    }
}
.viewer-parts{margin:14px 0}.viewer-parts label{display:block;margin-bottom:7px}.viewer-parts select{width:100%;min-width:0}.viewer-details{font-size:13px;color:#54626e;overflow-wrap:anywhere;margin-top:10px}.get3d-viewer__toolbar{display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px)}.get3d-viewer__toolbar button{font:inherit;font-size:12px;min-height:36px;border:1px solid #bac6ce;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer}

/* Browser fullscreen dialog: preserve the same WebGL canvas and camera. */
.viewer-fullscreen{box-sizing:border-box;position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#f3f6f9;color:#203747;overflow:hidden}
.viewer-fullscreen[open]{display:flex;flex-direction:column;gap:10px}
.viewer-fullscreen::backdrop{background:#182e45aa}
.viewer-fullscreen>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
.viewer-fullscreen h2{font-size:18px;line-height:1.4;margin:0}
.viewer-fullscreen-close{min-height:44px;padding:10px 14px;font-size:14px;border:1px solid #b9ccdb;background:white;color:#294c65;border-radius:10px;cursor:pointer}
.viewer-fullscreen #get3d-viewer-root{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;gap:8px}
body .viewer-fullscreen .get3d-viewer{height:auto!important;min-height:100px;flex:1;width:100%}
.viewer-fullscreen .get3d-viewer__expand{display:none}
.viewer-fullscreen .get3d-viewer__hint{display:block;max-width:calc(100% - 24px);box-sizing:border-box;font-size:14px;line-height:1.4;border-radius:10px}
.viewer-fullscreen :is(.viewer-details,.viewer-appearance){font-size:14px!important;line-height:1.4!important;margin:0!important;padding:0!important;border:0!important;background:none!important}
.viewer-fullscreen .viewer-parts{margin:0;flex-shrink:0}
.viewer-fullscreen .viewer-parts label{font-size:14px;margin-bottom:4px}
.viewer-fullscreen .viewer-parts select{font-size:16px;min-height:44px}
.viewer-fullscreen :is(button,select):focus-visible{outline:3px solid #427796;outline-offset:2px}
@media(max-height:500px){.viewer-fullscreen .viewer-appearance{display:none}.viewer-fullscreen .viewer-parts label{display:none}.viewer-fullscreen h2{font-size:16px}}

body .get3d-viewer .get3d-viewer__toolbar button.viewer-icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;margin:0;flex:0 0 38px;border-radius:9px;color:#314e64}
body .get3d-viewer .get3d-viewer__toolbar button.viewer-icon-button svg{display:block;width:20px;height:20px;pointer-events:none}
body .get3d-viewer .get3d-viewer__toolbar button.viewer-icon-button:focus-visible{outline:2px solid #456e8a;outline-offset:3px}
body .viewer-fullscreen .get3d-viewer__toolbar .get3d-viewer__expand{display:none}
@media(pointer:coarse){body .get3d-viewer .get3d-viewer__toolbar button.viewer-icon-button{width:44px;min-width:44px;height:44px;min-height:44px;flex-basis:44px}}
