:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:#141713;--glass:rgba(24,29,24,.78);--accent:#d7e7c1}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{border:1px solid #ffffff38;background:var(--glass);border-radius:10px;padding:10px 14px;min-height:44px}button:hover{background:#3b4537}button:disabled{opacity:.4;cursor:default}a{color:inherit}button svg{height:19px;width:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon{width:44px;height:44px;padding:10px;display:grid;place-items:center;font-size:24px;flex:none} [hidden]{display:none!important}
#visit{position:relative;height:100svh;min-height:420px;overflow:hidden;background:#141713}#view,#poster,.shade{position:absolute;inset:0;width:100%;height:100%}#poster{object-fit:cover}#view{touch-action:none;cursor:grab;opacity:0;transition:opacity .3s}#view.ready{opacity:1}#view:active{cursor:grabbing}.shade{pointer-events:none;background:linear-gradient(180deg,#09100985 0%,transparent 28%,transparent 56%,#09100944 72%,#091009e0 100%)}
.topbar{position:absolute;top:0;left:0;right:0;padding:24px 28px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;pointer-events:none}.topbar button,.topbar a{pointer-events:auto}.identity{display:flex;gap:15px;align-items:center}.brand{font-size:10px;letter-spacing:.22em;font-weight:650;color:#e7edde}.identity h1{font-weight:550;font-size:23px;letter-spacing:-.025em;margin:7px 0 5px;text-shadow:0 1px 10px #0008}.identity p{font-size:12px;margin:0;color:#eef0e8}.identity p span{padding:0 5px}#back{display:grid;place-items:center;text-decoration:none;width:40px;height:44px;background:var(--glass);border:1px solid #ffffff38;border-radius:10px;font-size:23px}.top-actions{display:flex;gap:8px;align-items:center}.top-actions button{backdrop-filter:blur(14px)}#map-open{display:flex;align-items:center;gap:8px;font-size:13px}.quality{font-size:10px;font-weight:650;letter-spacing:.08em;padding:8px 10px;border:1px solid #ffffff55;border-radius:30px;margin-right:4px;text-shadow:0 1px 5px #000}
#hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid #fff9;background:#1b261bd9;box-shadow:0 5px 25px #0004;backdrop-filter:blur(10px);border-radius:24px;display:flex;align-items:center;gap:8px;white-space:nowrap;padding:5px 13px 5px 5px;font-size:12px;min-height:44px}.hotspot .dot{border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;width:31px;height:31px;font-size:20px;transform:rotate(-90deg)}.hotspot:hover{background:#587044}.zoom{position:absolute;right:28px;top:45%;display:grid;gap:7px}.zoom button{backdrop-filter:blur(12px)}
#notice{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);background:var(--glass);border:1px solid #ffffff2e;border-radius:30px;padding:12px 18px;font-size:13px;backdrop-filter:blur(15px);max-width:90vw;text-align:center;pointer-events:none}#notice:empty{display:none}#error{position:absolute;top:30%;left:50%;transform:translateX(-50%);width:min(430px,90vw);background:#182019ed;padding:22px;border:1px solid #ffffff55;border-radius:16px;z-index:5}#error p{line-height:1.5;font-size:14px}#error a{display:block;margin-top:15px;font-size:13px}
.bottom{position:absolute;bottom:0;left:0;right:0;padding:0 28px 15px;pointer-events:none}.bottom button,.bottom a,.bottom nav{pointer-events:auto}.room-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px;gap:14px}.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:600;color:#dbe3d0}#current-room{font-size:29px;font-weight:450;letter-spacing:-.035em;margin:5px 0 0;text-shadow:0 2px 10px #0006}.room-meta{text-align:right;font-size:11px;color:#e0e5d8;display:grid;gap:8px}#positions{display:flex;gap:5px;justify-content:flex-end}#positions:empty{display:none}#positions button{border-radius:20px;padding:6px 12px;min-height:32px;font-size:11px}#positions button[aria-pressed=true]{background:#d7e7c1;color:#1d2a1c;border-color:#d7e7c1}
#rooms{display:flex;gap:8px;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aabc9566 transparent;padding:4px 3px 9px;margin:0 -3px}.room-card{display:flex;align-items:center;gap:10px;flex:1 0 auto;padding:5px 11px 5px 5px;text-align:left;border-radius:11px;background:#182018c9;backdrop-filter:blur(15px);min-height:56px;max-width:210px;font-size:12px;line-height:1.35;border:1px solid #fff3}.room-card img{width:54px;height:42px;object-fit:cover;border-radius:7px}.room-card .name{white-space:nowrap}.room-card[aria-pressed=true]{background:#d7e7c1;color:#182517;border-color:#fff8}.room-card .seen{display:inline-block;width:5px;height:5px;background:transparent;border-radius:50%;margin-left:5px}.room-card.visited .seen{background:#b6d098}.room-card[aria-pressed=true] .seen{background:#476639}.fineprint{font-size:10px;color:#e4e8dd;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:2px}.fineprint button{font-size:10px;background:none;border:0;padding:8px 0;min-height:30px;color:#e4e8dd;text-decoration:underline;text-underline-offset:3px}
dialog{color:#eff2e8;border:1px solid #ffffff29;background:#1c241ddd;backdrop-filter:blur(25px);border-radius:20px;padding:24px;width:min(650px,calc(100vw - 28px));max-height:calc(100svh - 36px);box-shadow:0 20px 100px #0008;overflow:auto}dialog::backdrop{background:#08100788;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.dialog-head h2{font-weight:450;font-size:24px;margin:4px 0 0;letter-spacing:-.03em}.dialog-head button{background:none;border-color:#fff3}#plan svg{display:block;width:100%;max-height:48svh}#plan .floor{fill:#364235}#plan .wall{fill:#c7cebc}#plan .plan-node{cursor:pointer}#plan .plan-node circle{fill:#738c5c;stroke:#d3e1c2;stroke-width:1.5}#plan .plan-node[aria-pressed=true] circle{fill:#e0edc8;stroke:#fff;stroke-width:3}#plan .plan-node text{fill:white;text-anchor:middle;font:600 12px system-ui;pointer-events:none}#plan .plan-node[aria-pressed=true] text{fill:#273824}#map-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}#map-legend button{font-size:11px;text-align:left;padding:7px 9px;background:#ffffff08;border-color:#ffffff22;min-height:39px}#map-legend button[aria-pressed=true]{background:#d7e7c1;color:#182517}.dialog-note{font-size:11px;color:#b7c3b0;line-height:1.5;margin:16px 0 0}#info-dialog{max-width:520px}#info-dialog p{font-size:14px;line-height:1.65;color:#d7dfce}.noscript{position:absolute;top:35%;left:10%;right:10%;padding:24px;background:#182018ee;border-radius:14px;text-align:center}
@media(min-width:1400px){.bottom{left:50%;right:auto;transform:translateX(-50%);width:min(1420px,100%)}.room-card{flex:1 1 0}.room-card img{width:48px}.room-card .name{white-space:normal}}
@media(max-width:760px){#visit{min-height:380px}.topbar{padding:18px 16px;gap:8px}.brand{font-size:8px}.identity{gap:8px}.identity h1{font-size:18px;margin:6px 0 4px}.identity p{font-size:10px}.top-actions{gap:6px}.quality{display:none}#map-open{width:42px;height:42px;padding:11px}#map-open span{display:none}#full{width:42px;height:42px}.icon{width:42px;height:42px}.zoom{right:16px;top:42%;gap:6px}.reset{display:none}.bottom{padding:0 16px max(12px,env(safe-area-inset-bottom))}.room-heading{margin-bottom:12px}#current-room{font-size:25px}.room-meta{font-size:9px;gap:7px}#coverage{max-width:132px}#positions button{font-size:10px;max-width:105px;min-height:34px;padding:6px 9px}.room-card{flex:0 0 auto;font-size:11px;min-height:56px;padding-right:12px}.room-card img{width:48px;height:39px}.hint{display:none}.fineprint{justify-content:flex-end;font-size:9px}.fineprint button{font-size:9px;min-height:24px}.hotspot{font-size:11px}.hotspot .dot{width:28px;height:28px}.dialog-head h2{font-size:21px}dialog{padding:18px}#map-legend{grid-template-columns:repeat(2,1fr);gap:5px}#plan svg{max-height:40svh}}
@media(max-height:520px){#visit{min-height:0}.topbar{padding-top:12px}.brand,.identity p,.fineprint,.eyebrow{display:none}.identity h1{font-size:18px;margin:0}.bottom{padding-bottom:10px}.room-heading{margin-bottom:6px}#current-room{font-size:21px;margin:0}.room-card{min-height:42px;padding-top:3px;padding-bottom:3px}.room-card img{height:30px;width:40px}.zoom{display:none}#rooms{padding-bottom:0}#plan svg{max-height:40svh}}
/* 08/10/2026, telefono (bozza "visita 1" scelta da Giuseppe): la foto a tutto schermo, poche cose sopra. "Indietro" e
   "Chiedi prezzo" li disegna la pagina esterna (cornice): qui si lascia il loro posto. Il computer resta com'è. */
#ruota,.room-line,.solo-telefono{display:none}
#visit.totale .bottom,#visit.totale .identity,#visit.totale #map-open,#visit.totale #ruota,#visit.totale .zoom{display:none}#visit.totale .top-actions{margin-left:auto;padding-right:0}
@media(max-width:767px){#full{width:44px;height:44px;border-radius:22px}.identity>div{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#map-open{display:none}.eyebrow{display:none}.hotspot{font-size:12px}#map-legend button{font-size:12px}.dialog-note{font-size:12px}.solo-telefono{display:block;width:100%;margin-top:6px;font-size:15px;background:#ffffff10}}
/* 08/10/2026 (Giuseppe): lo schermo intero resta sempre in alto a destra; il telefono che ruota sta sotto e il suo invito si allarga verso sinistra senza coprirlo */
@media(max-width:767px) and (min-height:521px){.shade{background:linear-gradient(180deg,#09100970 0%,transparent 16%,transparent 52%,#091009a8 76%,#091009f2 100%)}.topbar{padding:12px 16px}.zoom{display:none}.top-actions{position:relative}
#ruota{display:flex;align-items:center;gap:0;position:absolute;right:0;top:52px;height:44px;min-width:44px;padding:0 11px;border-radius:22px;background:#1b221b;backdrop-filter:blur(14px);white-space:nowrap;z-index:2}#ruota svg{flex:none;height:20px;width:20px}
.ruota-testo{max-width:0;overflow:hidden;font-size:13px;font-weight:550;transition:max-width .35s ease,margin .35s ease}#ruota.invito .ruota-testo{max-width:250px;margin-left:8px}
#ruota.invito::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;animation:anello 1.2s ease-out 3}
.bottom{padding:0 16px 14px}.room-heading{display:block;margin-bottom:10px}.cornice .room-heading{padding-right:156px}.room-meta{display:none}#current-room{font-size:28px;line-height:1.15;margin:0}
.room-line{display:flex;align-items:center;gap:2px;margin:2px 0 0;font-size:13px;color:#e8ece2;text-shadow:0 1px 6px #0009}#info-mini{width:44px;height:44px;min-height:44px;margin:-12px 0 -12px -6px;padding:0;background:none;border:0;display:grid;place-items:center}#info-mini span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #ffffff8c;border-radius:50%;font-size:12px;font-weight:600;font-style:italic;font-family:Georgia,serif}
.fineprint{display:none}#rooms{gap:6px;padding:0;margin:0;scrollbar-width:none}#rooms::-webkit-scrollbar{display:none}.room-card{flex:0 0 auto;min-height:44px;height:44px;padding:2px 10px 2px 2px;gap:8px;font-size:12px;border-radius:10px}.room-card img{width:46px;height:38px;border-radius:8px}}
@media(max-width:389px) and (min-height:521px){.lungo{display:none}}
@media(max-height:520px){.topbar{padding:10px 16px}.quality{display:none}#full{border-radius:22px}.identity>div{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#map-open{display:none}.bottom{display:flex;justify-content:center;align-items:flex-end;padding:0 16px 10px}.room-heading{position:absolute;left:16px;bottom:10px;margin:0;max-width:150px;min-height:44px;display:flex;align-items:flex-end}.room-meta{display:none}#current-room{font-size:15px;font-weight:550;line-height:1.25}
#rooms{max-width:calc(100% - 352px);gap:6px;padding:0;margin:0;opacity:.72;transition:opacity .2s;scrollbar-width:none}#rooms::-webkit-scrollbar{display:none}#rooms:hover,#rooms:focus-within,#rooms:active{opacity:1}.room-card{flex:0 0 auto;min-height:44px;padding:2px;border-radius:9px}.room-card .name{display:none}.room-card img{width:56px;height:38px;border-radius:7px}}
@keyframes anello{from{box-shadow:0 0 0 0 #ffffffa0}to{box-shadow:0 0 0 12px #ffffff00}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}#ruota.invito::after{animation:none}}
/* 08/10/2026: video d'ingresso dalla casa in 3D al soggiorno. Sopra tutto, poi sfuma sulla visita (0,45 s) */
#intro{position:absolute;inset:0;z-index:20;background:#fff;transition:opacity .45s ease}#intro[hidden]{display:none}#intro.via{opacity:0;pointer-events:none}
#intro video{display:block;width:100%;height:100%;object-fit:cover}
#intro .intro-dove{position:absolute;left:16px;top:calc(env(safe-area-inset-top) + 16px);padding:7px 13px;border-radius:999px;background:#141713b3;color:#fff;font-size:14px;font-weight:600;line-height:1.2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
#intro-salta{position:absolute;right:16px;bottom:calc(env(safe-area-inset-bottom) + 20px);min-height:44px;padding:0 20px;border:1px solid #ffffff4d;border-radius:999px;background:#141713b3;color:#fff;font:inherit;font-size:15px;font-weight:600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}

/* 10/10/2026 Piano di Guardia: pianta a due piani con le linguette */
.plan-tabs{display:flex;gap:6px;margin-bottom:10px}.plan-tabs button{font-size:13px;min-height:38px;padding:6px 14px;background:#ffffff08;border-color:#ffffff22}.plan-tabs button[aria-pressed=true]{background:#d7e7c1;color:#182517}
#plan .floor{stroke:#4a5848;stroke-width:1}
