/* Planimetria 3D (components/plan3d_overlay.html) e 3D Tour (crm/includes/measurements_tour_modal.html) con il design system.
   Fuori dai @layer e caricato dopo gli stili del portale: gli script e i fogli della v1 restano quelli, qui si cambia solo l'aspetto. */

/* ---------- Planimetria 3D ---------- */
.plan3d-overlay { background: var(--tint); color: var(--ink); font-family: var(--font); font-size: var(--step-small); }
.plan3d-overlay .plan3d-bar { gap: 8px; padding: 12px 16px; border: 0; background: var(--ground); box-shadow: var(--shadow-stuck); position: relative; z-index: 2; }
.plan3d-overlay .plan3d-name { margin-right: 8px; font-family: var(--display); font-size: var(--step-body); font-weight: 500; }
.plan3d-overlay .plan3d-grp { gap: 6px; }

.plan3d-overlay .plan3d-bar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--control-h-sm);
  padding: 0 16px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--tint);
  color: var(--ink);
  font: 500 var(--step-small) var(--font);
  white-space: nowrap;
  transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.plan3d-overlay .plan3d-bar button:hover { background: var(--tint-2); }
.plan3d-overlay .plan3d-bar button[hidden] { display: none; } /* es. «Ripristina originale» senza modifiche */
.plan3d-overlay .plan3d-bar button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.plan3d-overlay .plan3d-bar button .icon { width: 18px; height: 18px; }
.plan3d-overlay .plan3d-bar button.is-on,
.plan3d-overlay .plan3d-bar button.is-primary { background: var(--accent); color: var(--on-ink); }
.plan3d-overlay .plan3d-bar button.is-on:hover,
.plan3d-overlay .plan3d-bar button.is-primary:hover { background: var(--ink); }
.plan3d-overlay .plan3d-bar button.plan3d-tour { padding: 0 18px; background: var(--ink); color: var(--on-ink); font-weight: 600; }
.plan3d-overlay .plan3d-bar button.plan3d-tour:hover { background: var(--accent); }

/* Movimento: un solo controllo a pillola, con dentro le scelte */
.plan3d-overlay .plan3d-grp[role="group"] { gap: 4px; padding: 3px; border-radius: var(--r-pill); background: var(--tint); }
.plan3d-overlay .plan3d-grp[role="group"] button { min-height: calc(var(--control-h-sm) - 6px); padding: 0 14px; background: transparent; }
.plan3d-overlay .plan3d-grp[role="group"] button:hover { background: var(--tint-2); }
.plan3d-overlay .plan3d-grp[role="group"] button.is-on,
.plan3d-overlay .plan3d-grp[role="group"] button.is-on:hover { background: var(--accent); }
.plan3d-overlay .plan3d-grp[role="group"] #plan3d-zin,
.plan3d-overlay .plan3d-grp[role="group"] #plan3d-zout { width: calc(var(--control-h-sm) - 6px); padding: 0; font-size: var(--step-body); }

.plan3d-overlay .plan3d-bar #plan3d-close { width: var(--control-h-sm); padding: 0; }
.plan3d-overlay .plan3d-fl { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-soft); }
.plan3d-overlay .plan3d-fl[hidden] { display: none; }
.plan3d-overlay .plan3d-bar select,
.plan3d-overlay .plan3d-bar input[type="text"],
.plan3d-overlay .plan3d-pal select { min-height: var(--control-h-sm); padding: 0 12px; border: 0; border-radius: var(--r-pill); background: var(--tint); color: var(--ink); font: inherit; }
.plan3d-overlay input[type="range"] { accent-color: var(--accent); }

.plan3d-overlay .plan3d-msg { min-height: 0; padding: 8px 16px; background: var(--tint); color: var(--ink-soft); font-size: var(--step-small); opacity: 1; text-align: center; }
.plan3d-overlay .plan3d-msg:empty { display: none; }

/* Scelta degli arredi */
.plan3d-overlay .plan3d-pal { top: 16px; left: 16px; gap: 12px; padding: 16px; border: 0; border-radius: var(--r-md); background: var(--ground); box-shadow: var(--shadow-menu); }
.plan3d-overlay .plan3d-pal__head button { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--tint); color: var(--ink); }
.plan3d-overlay .plan3d-pal__head .icon { width: 16px; height: 16px; }
.plan3d-overlay .plan3d-pal__grid button { padding: 8px 4px; border: 0; border-radius: var(--r-sm); background: var(--tint); color: var(--ink); font-size: 12px; }
.plan3d-overlay .plan3d-pal__grid button:hover { background: var(--tint-2); }
.plan3d-overlay .plan3d-pal__grid button.is-on { background: var(--ground); box-shadow: 0 0 0 2px var(--accent); }
.plan3d-overlay .plan3d-note { color: var(--ink-soft); font-size: 12px; opacity: 1; }

@media (max-width: 640px) {
  .plan3d-overlay .plan3d-bar { padding: 8px 12px; }
  .plan3d-overlay .plan3d-grp[role="group"] button { padding: 0 10px; }
}

/* ---------- 3D Tour ---------- */
.fpt { background: var(--scrim-strong); font-family: var(--font); }
.fpt .fpt-shell { gap: 12px; padding: 16px; border-radius: var(--r-lg); background: var(--ground); color: var(--ink); box-shadow: var(--shadow-menu); }
.fpt .fpt-head strong { font-family: var(--display); font-size: var(--step-lead); font-weight: 500; letter-spacing: -0.02em; }
.fpt .fpt-msg { color: var(--ink-soft); font-size: var(--step-small); }
.fpt .fpt-close { display: grid; place-items: center; width: var(--field-h); height: var(--field-h); background: var(--tint); color: var(--ink); transition: background-color var(--dur-fast) var(--ease); }
.fpt .fpt-close:hover { background: var(--tint-2); }
.fpt .fpt-stage { border-radius: var(--r-md); background: var(--tint); box-shadow: none; }
.fpt .fpt-ctrl { gap: 8px; }
.fpt .fpt-ctrl button {
  min-height: var(--control-h-sm);
  padding: 0 16px;
  border: 0;
  border-radius: var(--r-pill);
  background: var(--tint);
  color: var(--ink);
  font: 500 var(--step-small) var(--font);
  transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.fpt .fpt-ctrl button:hover { background: var(--tint-2); }
.fpt .fpt-ctrl button:focus-visible, .fpt .fpt-close:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.fpt .fpt-ctrl button.fpt-icon { width: var(--control-h-sm); height: var(--control-h-sm); padding: 0; }
.fpt #fpt-play { background: var(--accent); color: var(--on-ink); }
.fpt #fpt-play:hover { background: var(--ink); }
.fpt #fpt-seek { accent-color: var(--accent); }
.fpt .fpt-time { color: var(--ink-soft); font-size: var(--step-small); }
.fpt .fpt-speed-menu, .fpt .fpt-quality-menu { padding: 6px; border: 0; border-radius: var(--r-sm); background: var(--ground); box-shadow: var(--shadow-menu); }
.fpt .fpt-ctrl .fpt-speed-menu button, .fpt .fpt-ctrl .fpt-quality-menu button { min-height: 34px; background: transparent; }
.fpt .fpt-ctrl .fpt-speed-menu button:hover, .fpt .fpt-ctrl .fpt-quality-menu button:hover { background: var(--tint); }
.fpt .fpt-ctrl .fpt-speed-menu button[aria-checked="true"], .fpt .fpt-ctrl .fpt-quality-menu button[aria-checked="true"] { background: var(--accent); color: var(--on-ink); }
.fpt .fpt-furn { box-shadow: var(--shadow-pin); }
.fpt .fpt-furn:focus-visible { outline-color: var(--accent); }
@media (max-width: 640px) {
  .fpt { padding: 0; }
  .fpt .fpt-shell { min-height: 100%; justify-content: center; border-radius: 0; }
}

/* ---------- 3D Tour dentro la galleria (scheda «3D Tour»): niente finestra, il menu delle schede resta sopra ---------- */
.tour-panel { position: relative; align-items: center; justify-content: center; }
.tour-panel .tour-spinner { color: var(--ink-soft); }
.tour-panel:has(> .fpt:not([hidden])) .tour-spinner, .tour-panel.failed .tour-spinner { display: none; }
.viewer-panel > .fpt { position: static; flex: 1; align-self: stretch; min-height: 0; padding: 0; background: none; }
.viewer-panel > .fpt[hidden] { display: none; }
.viewer-panel > .fpt .fpt-shell { width: min(100%, calc((100dvh - 190px) * 16 / 9)); min-height: 0; padding: 0; border-radius: 0; background: none; box-shadow: none; }
.viewer-panel > .fpt .fpt-head strong, .viewer-panel > .fpt .fpt-close { display: none; }
.viewer-panel > .fpt .fpt-head:has(.fpt-msg:empty) { display: none; }

/* ---------- Planimetria dentro la galleria (scheda «3D»): il nome, la chiusura e il tour li danno la testata e le schede ---------- */
.viewer-panel > .plan3d-overlay { position: relative; flex: 1; min-height: 0; overflow: hidden; border-radius: var(--r-md); }
.viewer-panel > .plan3d-overlay[hidden] { display: none; }
.viewer-panel > .plan3d-overlay .plan3d-name,
.viewer-panel > .plan3d-overlay .plan3d-bar #plan3d-close,
.viewer-panel > .plan3d-overlay .plan3d-bar .plan3d-tour { display: none; }

/* Comandi in basso sopra il modello e messaggio in alto: la vista 3D prende tutta la scheda */
.viewer-panel > .plan3d-overlay .plan3d-bar {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  padding: 0;
  background: none;
  box-shadow: none;
  pointer-events: none;
}
.viewer-panel > .plan3d-overlay .plan3d-bar > *,
.viewer-panel > .plan3d-overlay .plan3d-bar button { pointer-events: auto; }
.viewer-panel > .plan3d-overlay .plan3d-grp { pointer-events: none; }
/* campi dentro i gruppi (altezza da terra, select): il clic resta a loro e non passa alla vista 3D (che deselezionerebbe l'arredo) */
.viewer-panel > .plan3d-overlay .plan3d-grp label,
.viewer-panel > .plan3d-overlay .plan3d-grp input,
.viewer-panel > .plan3d-overlay .plan3d-grp select { pointer-events: auto; }
.viewer-panel > .plan3d-overlay .plan3d-grp[role="group"] { background: var(--ground); box-shadow: var(--shadow-pin); pointer-events: auto; }
.viewer-panel > .plan3d-overlay .plan3d-bar > button:not(.is-on):not(.is-primary):not(.plan3d-tour),
.viewer-panel > .plan3d-overlay .plan3d-grp:not([role="group"]) button:not(.is-on):not(.is-primary) { background: var(--ground); }
.viewer-panel > .plan3d-overlay .plan3d-bar > button:not(.is-on):not(.is-primary):not(.plan3d-tour):hover,
.viewer-panel > .plan3d-overlay .plan3d-grp:not([role="group"]) button:not(.is-on):not(.is-primary):hover { background: var(--tint); }
.viewer-panel > .plan3d-overlay .plan3d-bar > button,
.viewer-panel > .plan3d-overlay .plan3d-grp:not([role="group"]) button { box-shadow: var(--shadow-pin); }
.viewer-panel > .plan3d-overlay .plan3d-fl { padding: 0 12px; border-radius: var(--r-pill); background: var(--ground); box-shadow: var(--shadow-pin); }
.viewer-panel > .plan3d-overlay .plan3d-msg {
  position: absolute;
  top: 12px;
  left: 50%;
  z-index: 2;
  width: max-content;
  max-width: calc(100% - 24px);
  padding: 6px 14px;
  border-radius: var(--r-pill);
  background: var(--ground);
  box-shadow: var(--shadow-pin);
  pointer-events: none;
  translate: -50% 0;
}
.viewer-panel > .plan3d-overlay .plan3d-pal { max-height: calc(100% - 96px); }
/* Barra centrale: centra, interruttore «Arredi» (spunta quando sono visibili) e qualita' dentro la stessa pillola */
.plan3d-overlay .plan3d-grp[role="group"] .plan3d-check { display: none; font-weight: 700; }
.plan3d-overlay .plan3d-grp[role="group"] #plan3d-furnshow.is-on .plan3d-check,
.plan3d-overlay .plan3d-grp[role="group"] #plan3d-ghost.is-on .plan3d-check { display: inline; }
.plan3d-overlay .plan3d-grp[role="group"] #plan3d-ghost[hidden] { display: none; }
.plan3d-overlay .plan3d-grp[role="group"] .plan3d-fl,
.viewer-panel > .plan3d-overlay .plan3d-grp[role="group"] .plan3d-fl { padding: 0; background: none; box-shadow: none; }
.plan3d-overlay .plan3d-grp[role="group"] .plan3d-fl select { min-height: calc(var(--control-h-sm) - 6px); }
/* Annulla e Ripeti: solo con il pannello arredi aperto, alla sua destra in alto */
.plan3d-overlay .plan3d-history { position: absolute; top: 16px; left: 16px; z-index: 3; display: inline-flex; gap: 2px; padding: 3px; border-radius: var(--r-pill); background: var(--ground); box-shadow: var(--shadow-pin); }
.plan3d-overlay .plan3d-history[hidden] { display: none; }
.plan3d-overlay .plan3d-stage:has(.plan3d-pal[hidden]) .plan3d-history { display: none; } /* solo mentre si personalizza (pannello arredi aperto) */
.plan3d-overlay .plan3d-history button { display: grid; place-items: center; width: calc(var(--control-h-sm) - 6px); height: calc(var(--control-h-sm) - 6px); padding: 0; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink); }
.plan3d-overlay .plan3d-history button:hover:not(:disabled) { background: var(--tint); }
.plan3d-overlay .plan3d-history button:disabled { opacity: 0.4; cursor: default; }
.plan3d-overlay .plan3d-history .icon { width: 18px; height: 18px; }
.plan3d-overlay .plan3d-stage:has(.plan3d-pal:not([hidden])) .plan3d-history { left: calc(min(330px, 100% - 20px) + 32px); }
@media (max-width: 640px) { .plan3d-overlay .plan3d-stage:has(.plan3d-pal:not([hidden])) .plan3d-history { display: none; } }

/* Movimento e zoom al centro in basso; se lo spazio non basta tornano in fila con gli altri comandi */
.plan3d-overlay .plan3d-center { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.viewer-panel > .plan3d-overlay .plan3d-bar > .plan3d-center { pointer-events: none; } /* lo spazio fra le pillole lascia il clic alla vista */
@media (min-width: 1900px) { /* pillole centrali larghe (con Personalizza a sinistra e PDF/Salva a destra): sotto questa larghezza vanno in fila */
  .viewer-panel > .plan3d-overlay .plan3d-center { position: absolute; left: 50%; bottom: 0; flex-wrap: nowrap; translate: -50% 0; }
}
/* «Personalizza»: verde anche dentro la pillola; resta acceso mentre il pannello degli arredi e' aperto */
.plan3d-overlay .plan3d-grp[role="group"] button.is-primary { background: var(--accent); color: var(--on-ink); }
.plan3d-overlay .plan3d-grp[role="group"] button.is-primary:hover,
.plan3d-overlay .plan3d-grp[role="group"] button.is-primary.is-open { background: var(--ink); }
.plan3d-overlay .plan3d-grp[role="group"] button[hidden] { display: none; }

/* Conferma (es. «Ripristina originale») */
.plan3d-confirm { width: min(520px, calc(100% - 32px)); }
.plan3d-confirm .plan3d-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; }


/* Scarica PDF e Salva: primi a sinistra nella barra, cioe' fissi in basso a sinistra */
.plan3d-overlay .plan3d-actions { display: inline-flex; gap: 6px; }
.plan3d-overlay .plan3d-bar .plan3d-actions button[hidden] { display: none; }

/* «Personalizza»: il pannello degli arredi entra da sinistra e esce allo stesso modo */
.plan3d-overlay .plan3d-pal { transition: translate 0.32s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.32s ease, display 0.32s allow-discrete; }
.plan3d-overlay .plan3d-pal[hidden] { display: none; translate: calc(-100% - 24px) 0; opacity: 0; }
@starting-style { .plan3d-overlay .plan3d-pal:not([hidden]) { translate: calc(-100% - 24px) 0; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .plan3d-overlay .plan3d-pal { transition: none; } }

/* Scarica PDF: rosso, con l'icona (l'id vince sulle regole dei pulsanti della galleria) */
.plan3d-overlay #plan3d-pdf { background: #D2232A; color: #fff; }
.plan3d-overlay #plan3d-pdf:hover { background: #A81B21; }
.plan3d-overlay #plan3d-pdf .icon { width: 20px; height: 20px; }
/* Salva il mio progetto: spento finche' non ci sono modifiche */
.plan3d-overlay .plan3d-bar #plan3d-save:disabled { opacity: 0.45; cursor: default; }
.plan3d-overlay .plan3d-bar #plan3d-save:disabled:hover { background: var(--accent); }

/* Menu a tendina (viste, qualita'): stesso passaggio del mouse dei pulsanti */
.plan3d-overlay .plan3d-bar select { cursor: pointer; transition: background-color 0.15s ease; }
.plan3d-overlay .plan3d-bar select:hover { background-color: var(--tint-2); }
.plan3d-overlay .plan3d-bar select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* «Personalizza» in basso a sinistra: grande il doppio degli altri comandi */
.plan3d-overlay .plan3d-bar button.is-big { min-height: calc(var(--control-h-sm) * 2 - 8px); padding: 0 28px; gap: 10px; font-size: calc(var(--step-small) * 1.25); font-weight: 600; }
.plan3d-overlay .plan3d-bar button.is-big .icon { width: 26px; height: 26px; }
.plan3d-overlay .plan3d-bar button.is-primary.is-open { background: var(--ink); }
.plan3d-overlay .plan3d-bar .plan3d-actions { align-self: flex-end; }

/* Arredo selezionato: una pillola in alto al centro, sotto il messaggio */
.plan3d-overlay .plan3d-selbar { position: absolute; top: 12px; left: 50%; z-index: 3; display: inline-flex; align-items: center; gap: 4px; padding: 3px; border-radius: var(--r-pill); background: var(--ground); box-shadow: var(--shadow-pin); translate: -50% 0; white-space: nowrap; }
.viewer-panel > .plan3d-overlay .plan3d-selbar { top: 60px; }
.plan3d-overlay .plan3d-selbar[hidden] { display: none; }
.plan3d-overlay .plan3d-selbar button { display: inline-grid; place-items: center; min-width: calc(var(--control-h-sm) - 6px); min-height: calc(var(--control-h-sm) - 6px); padding: 0 14px; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--ink); font: 500 var(--step-small) var(--font); cursor: pointer; }
.plan3d-overlay .plan3d-selbar button:hover { background: var(--tint); }
.plan3d-overlay .plan3d-selbar button[hidden], .plan3d-overlay .plan3d-selbar label[hidden] { display: none; }
.plan3d-overlay .plan3d-selbar #plan3d-del { color: #B42318; }
.plan3d-overlay .plan3d-selbar #plan3d-del:hover { background: #FDECEA; }
.plan3d-overlay .plan3d-selbar label { display: inline-flex; align-items: center; gap: 6px; padding: 0 8px 0 12px; font: 500 var(--step-small) var(--font); color: var(--ink); }
.plan3d-overlay .plan3d-selbar input { width: 56px; min-height: calc(var(--control-h-sm) - 10px); padding: 0 10px; border: 0; border-radius: var(--r-pill); background: var(--tint); color: var(--ink); font: inherit; text-align: right; }
.plan3d-overlay .plan3d-selbar input:focus-visible, .plan3d-overlay .plan3d-selbar button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }

/* Barra dell'arredo selezionato: rotazioni grandi, divisori verticali, Elimina solo icona */
.plan3d-overlay .plan3d-selbar #plan3d-rotl, .plan3d-overlay .plan3d-selbar #plan3d-rotr,
.plan3d-overlay .plan3d-selbar #plan3d-del { width: calc(var(--control-h-sm) + 2px); height: calc(var(--control-h-sm) + 2px); padding: 0; }
.plan3d-overlay .plan3d-selbar #plan3d-rotl .icon, .plan3d-overlay .plan3d-selbar #plan3d-rotr .icon { width: 28px; height: 28px; stroke-width: 2.2; }
.plan3d-overlay .plan3d-selbar #plan3d-del .icon { width: 22px; height: 22px; }
.plan3d-overlay .plan3d-sep { align-self: stretch; width: 1px; margin: 6px 4px; background: var(--line); }
.plan3d-overlay .plan3d-selbar #plan3d-rotr[hidden] + .plan3d-sep,
.plan3d-overlay .plan3d-selbar label[hidden] + .plan3d-sep { display: none; } /* piu' arredi scelti: restano solo i comandi validi */

/* «Personalizza» e «Salva» in verde; «Personalizza» pulsa finche' il pannello e' chiuso */
.plan3d-overlay .plan3d-bar #plan3d-addfurn { background: var(--accent); color: var(--on-ink); }
.plan3d-overlay .plan3d-bar #plan3d-addfurn:hover, .plan3d-overlay .plan3d-bar #plan3d-addfurn.is-open { background: var(--ink); }
.plan3d-overlay .plan3d-bar #plan3d-addfurn.is-open { animation: none; }
.plan3d-overlay .plan3d-bar #plan3d-addfurn:not(.is-open) { animation: plan3d-pulse 1.8s ease-out infinite; }
@keyframes plan3d-pulse {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent), var(--shadow-pin); }
  70% { box-shadow: 0 0 0 16px color-mix(in srgb, var(--accent) 0%, transparent), var(--shadow-pin); }
  100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent), var(--shadow-pin); }
}
/* Selezione di Ruota, Sposta, Muovi piano e dell'interruttore Arredi: grigio (il verde resta alle azioni) */
.plan3d-overlay .plan3d-grp[role="group"] button.is-on,
.plan3d-overlay .plan3d-grp[role="group"] button.is-on:hover { background: #6B7280; color: #fff; }
@media (prefers-reduced-motion: reduce) { .plan3d-overlay .plan3d-bar #plan3d-addfurn:not(.is-open) { animation: none; } }

/* Menu delle viste: telecamera dentro la pillola, a sinistra del testo */
.plan3d-overlay #plan3d-viewbox { position: relative; display: inline-flex; align-items: center; }
.plan3d-overlay #plan3d-viewbox > .icon { position: absolute; left: 12px; width: 18px; height: 18px; color: var(--ink); pointer-events: none; }
.plan3d-overlay #plan3d-viewbox select { padding-left: 38px; }

/* Interruttore Arredi acceso: spunta verde in un tondo bianco */
.plan3d-overlay .plan3d-grp[role="group"] #plan3d-furnshow.is-on .plan3d-check { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #fff; color: var(--accent); font-size: 11px; font-weight: 800; line-height: 1; }

/* Menu «Stanza»: icona come il menu delle viste */
.plan3d-overlay #plan3d-roombox { position: relative; display: inline-flex; align-items: center; }
.plan3d-overlay #plan3d-roombox[hidden] { display: none; }
.plan3d-overlay #plan3d-roombox > .icon { position: absolute; left: 12px; width: 18px; height: 18px; color: var(--ink); pointer-events: none; }
.plan3d-overlay #plan3d-roombox select { max-width: 200px; padding-left: 38px; }

/* PDF e Salva: in fondo a destra della barra (nella galleria fissi nell'angolo in basso a destra della vista) */
.plan3d-overlay .plan3d-bar .plan3d-save-grp { margin-left: auto; }
.viewer-panel > .plan3d-overlay .plan3d-bar .plan3d-save-grp { position: absolute; right: 0; bottom: 0; margin: 0; }

/* Ruota e Sposta: solo icona (il nome nel suggerimento) */
.plan3d-overlay .plan3d-grp[role="group"] #plan3d-rot, .plan3d-overlay .plan3d-grp[role="group"] #plan3d-pan { width: calc(var(--control-h-sm) - 6px); padding: 0; }
/* Menu a tendina della barra: freccina disegnata, piu' vicina al testo */
.plan3d-overlay .plan3d-bar select { -webkit-appearance: none; appearance: none; padding-right: 28px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23324139' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 11px center; background-size: 10px 7px; }

/* Linguetta col nome del gruppo (Naviga, Camera, Opzioni) attaccata al bordo sinistro della pillola: un pezzo solo, una sola ombra */
.plan3d-overlay .plan3d-center { align-items: flex-end; }
.plan3d-overlay .plan3d-tabgrp { display: inline-flex; flex-direction: column; align-items: flex-start; filter: drop-shadow(0 2px 6px rgb(16 41 31 / 0.14)); pointer-events: none; }
.plan3d-overlay .plan3d-tab { padding: 4px 14px 2px; border-radius: 10px 10px 0 0; background: var(--ground); color: var(--accent); font: 700 10.5px/1.3 var(--font); letter-spacing: 0.12em; text-transform: uppercase; user-select: none; }
.plan3d-overlay .plan3d-tabgrp > .plan3d-grp[role="group"],
.viewer-panel > .plan3d-overlay .plan3d-tabgrp > .plan3d-grp[role="group"] { border-top-left-radius: 0; background: var(--ground); box-shadow: none; pointer-events: auto; }

/* Sotto i 1900 px le pillole centrali vanno in fila: PDF e Salva le seguono subito dopo Opzioni (niente sovrapposizioni a destra) */
@media (max-width: 1899px) {
  .plan3d-overlay .plan3d-bar .plan3d-center { display: contents; }
  .plan3d-overlay .plan3d-bar .plan3d-actions { order: 0; }
  .plan3d-overlay .plan3d-bar .plan3d-tabgrp { order: 1; }
  .plan3d-overlay .plan3d-bar .plan3d-save-grp,
  .viewer-panel > .plan3d-overlay .plan3d-bar .plan3d-save-grp { order: 2; position: static; margin: 0; align-self: flex-end; }
  .plan3d-overlay .plan3d-bar > :not(.plan3d-center):not(.plan3d-save-grp):not(.plan3d-actions) { order: 3; }
}
/* Smartphone: niente «Personalizza» (arredare si fa da schermi piu' grandi) */
@media (max-width: 640px) {
  .plan3d-overlay .plan3d-bar .plan3d-actions { display: none; }
}
