/* pagine/pubblico/planimetria.css — la planimetria pubblica (/strumenti/planimetria).

   La pagina e' l'editor dell'area azienda (templates/azienda/planimetria, css/planimetria.css)
   dentro la shell pubblica, con la testata sopra e il riassunto degli addetti sotto. Qui:
   1. le regole, scoped a body.pubblico-page, che fanno stare l'editor in un blocco della
      pagina invece che a tutto schermo. planimetria.css lo posiziona in `fixed` sotto la
      top bar dell'area (50px) e accanto alla sidebar (70px); qui .planimetria-app ha un
      transform, che per i figli `position: fixed` fa da riferimento al posto della finestra,
      e gli offset della top bar e della sidebar tornano a zero. Dentro non cambia niente;
      il top della palette Sposta/Ruota lo mette editor.js in coordinate finestra e lo
      corregge planimetria-richiesta.js.
   2. il form «ricontattatemi» sotto l'editor.
   Card, pulsanti e testata sono .pubblico-card, .pubblico-btn e .pagina-testata; i campi
   sono quelli di Bootstrap. */

.plp {
    max-width: 1320px;
    margin: 0 auto;
}

/* Il riassunto e i numeri sono superfici di lavoro: non si sollevano al passaggio. */
.plp .pubblico-card:hover {
    transform: none;
    box-shadow: var(--k-shadow);
}

/* La ricerca sta fra le azioni della testata, a destra */
.plp-cerca {
    display: flex;
    gap: var(--k-space-2);
    min-width: 0;
    flex: 1 1 320px;
    max-width: 420px;
}

.plp-cerca .form-control { min-width: 0; }
.plp-cerca .pubblico-btn { margin: 0; flex: 0 0 auto; }

.plp-titolo {
    display: flex;
    align-items: center;
    gap: var(--k-space-2);
    margin: 0 0 var(--k-space-3);
    font-size: var(--k-text-xl);
    font-weight: 600;
    color: var(--color-text-primary);
}

.plp-titolo i { color: var(--color-primary); }

.plp-nota {
    margin: var(--k-space-2) 0 0;
    color: var(--color-text-muted);
    font-size: var(--k-text-xs);
}

.plp-nota[hidden] { display: none; }

/* ══ L'editor nel flusso della pagina ════════════════════════════════════════ */

body.pubblico-page .planimetria-app {
    position: relative;
    height: calc(100vh - 240px);
    height: calc(100dvh - 240px);
    min-height: 560px;
    max-width: 1320px;
    margin: 0 auto var(--k-space-6);
    overflow: hidden;
    border: 1px solid var(--color-border-light);
    border-radius: var(--k-radius);
    background: var(--color-white);
    /* Riferimento dei figli position: fixed al posto della finestra */
    transform: translate(0);
}

/* Niente top bar (50px) e niente sidebar (70px): gli offset tornano al bordo del blocco.
   Una regola per selettore: il test degli stili legge le liste con la virgola come regole base. */
body.pubblico-page .map-toolbar { top: 0; left: 0; }
body.pubblico-page .mode-splash { top: 0; left: 0; }
body.pubblico-page #map { top: 56px; left: 0; }
body.pubblico-page .map-placeholder { top: 56px; left: 0; }
body.pubblico-page .foto-calib { top: 56px; left: 0; }
body.pubblico-page .sposta-velo { top: 56px; left: 0; }
body.pubblico-page .left-panel { top: 64px; left: 12px; }
body.pubblico-page .struttura-panel { top: 64px; }
body.pubblico-page .civici-legend { left: 12px; }
body.pubblico-page .foto-panel { left: 12px; }
body.pubblico-page #rightPanels { top: 64px; }
body.pubblico-page .basemap-menu { top: 64px; }

@media (min-width: 769px) {
    body.pubblico-page .tool-palette { top: 64px; left: 12px; }
    body.pubblico-page .asset-flyout { top: 64px; left: 68px; }
}

@media (max-width: 768px) {
    /* Sul telefono planimetria.css mette il chip dei piani e il loro foglio sotto la top bar */
    body.pubblico-page:has(#floorPanel.show) .floor-chip { top: 64px; }
    body.pubblico-page #rightPanels { top: 112px; }
}

/* Al pubblico solo edifici, reparti, piani e porte; il reparto nasce senza finestra (editor.js) */
body.pubblico-page #toolBtnPostazione { display: none; }
body.pubblico-page #toolBtnAsset { display: none; }
body.pubblico-page #repartoModalNome { display: none; }
body.pubblico-page label[for="repartoModalNome"] { display: none; }
body.pubblico-page #assetModalNome { display: none; }
body.pubblico-page label[for="assetModalNome"] { display: none; }

/* ══ Stima provvisoria ═══════════════════════════════════════════════════════ */

/* Due numeri grandi affiancati, niente riquadri: la stima e' una riga da leggere */
.plp-stima {
    display: flex;
    flex-wrap: wrap;
    gap: var(--k-space-3) var(--k-space-6);
}

.plp-stima-voce { display: flex; align-items: baseline; gap: var(--k-space-2); }

.plp-stima-numero {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1;
    color: var(--color-primary);
    font-variant-numeric: tabular-nums;
}

.plp-stima-etichetta { color: var(--color-text-secondary); }

.plp-stima-email {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--k-space-1) var(--k-space-2);
    margin: var(--k-space-4) 0 var(--k-space-4);
    padding-top: var(--k-space-4);
    border-top: 1px solid var(--color-border-light);
}

.plp-stima-email a { font-weight: 600; text-decoration: none; }
.plp-stima-email a:hover { text-decoration: underline; }
.plp-stima-email .plp-nota { margin: 0; }

/* ══ Ricontattatemi ══════════════════════════════════════════════════════════ */

.plp-trappola {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.plp-richiesta-pie {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--k-space-4);
    margin-top: var(--k-space-3);
}

.plp-consenso { margin: 0; font-size: var(--k-text-sm); color: var(--color-text-secondary); }
.plp-richiesta-pie .pubblico-btn { margin: 0; flex: 0 0 auto; }

/* ══ Telefono e tablet ═══════════════════════════════════════════════════════ */

@media (max-width: 1024px) {
    body.pubblico-page .planimetria-app {
        height: calc(100vh - 160px);
        height: calc(100dvh - 160px);
        min-height: 480px;
        border-radius: 0;
        margin-inline: -1rem; /* a tutta larghezza: via il margine di .pubblico-main */
        border-inline: 0;
    }

    .plp-cerca { max-width: none; }

    .plp-richiesta-pie { flex-direction: column; align-items: stretch; }
    .plp-richiesta-pie .pubblico-btn { justify-content: center; }
}

