/* ============================================================================
   QGIS Viewer 3D — regole specifiche del guscio per il viewer Giro3D.
   Caricato DOPO qgis-viewer.css: riusa le stesse variabili/classi chrome
   (header/sidebar/footer) del viewer Leaflet, adattando l'area mappa al
   canvas Giro3D. Niente palette hardcoded: usa i token --qgis-*.
   ============================================================================ */

/* Il mount Giro3D riempie l'area mappa (la .qgis-map-container è position:relative).
   Giro3D inserisce il suo <canvas> dentro questo elemento. */
#qgis3d-viewer {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: var(--qgis-map-bg, #0b1020);
    overflow: hidden;
}

#qgis3d-viewer canvas {
    display: block;
}

/* Placeholder dei pannelli sidebar (in attesa della fase layer). */
.qgis3d-panel-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.5rem;
    padding: 2rem 1rem;
    color: var(--qgis-text-muted, #6c757d);
}

.qgis3d-panel-placeholder i {
    font-size: 2rem;
    opacity: 0.5;
}

.qgis3d-panel-placeholder .qgis3d-ph-title {
    font-weight: 600;
    color: var(--qgis-text-color, inherit);
}

.qgis3d-panel-placeholder .qgis3d-ph-hint {
    font-size: 0.85rem;
    line-height: 1.5;
}

/* Selettore basemap nel footer. */
.qgis-basemap-selector {
    display: flex;
    align-items: center;
}

.qgis-basemap-selector .form-select {
    width: auto;
}

/* Ago della bussola (pulsante reset-vista #btn-compass): ruota per indicare
   il nord seguendo l'orientamento della camera. Regola condivisa dai due gusci
   (viewer admin e /maps pubblico), entrambi caricano qgis-3d.css. */
.qgis-compass-needle {
    display: block;
    transform-origin: 50% 50%;
    transition: transform 0.12s linear;
    will-change: transform;
}
