/* Recorrido inmersivo 360° · Estilo refinado High Garden / Huertos del Carmen */
html:has(.tour-experience),body.tour-experience{width:100%;height:100%;margin:0;overflow:hidden;background:#0d1e16}
.tour-experience{--tour-edge:24px;--tour-green:#16864d;color:#173f37;font-family:Inter,-apple-system,sans-serif}
.tour-experience #explorer{position:fixed;inset:0;max-width:none;padding:0;min-height:0;margin:0;z-index:0}
.tour-experience .tour{height:100%;width:100%;border-radius:0;background:#0d1e16;overflow:hidden;position:relative}
.tour-experience #panorama{display:block;width:100%;height:100%;outline:none}

/* Capa de delimitaciones vectoriales sobre el lienzo 360 */
.tour-experience #lotOverlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.lot-shape{pointer-events:auto;fill:rgba(34,197,94,0.22);stroke:#4ade80;stroke-width:2;cursor:pointer;transition:fill .18s ease,stroke .18s ease,stroke-width .18s ease,filter .18s ease}
.lot-shape:hover,.lot-shape:focus{fill:rgba(34,197,94,0.45);stroke:#ffffff;stroke-width:3.5;filter:drop-shadow(0 0 8px rgba(255,255,255,0.85));outline:none}
.lot-shape[data-status=Vendido]{fill:rgba(239,68,68,0.22);stroke:#f87171}
.lot-shape[data-status=Vendido]:hover{fill:rgba(239,68,68,0.45);stroke:#ffffff}
.lot-shape[data-status=Separado],.lot-shape[data-status=Bloqueado]{fill:rgba(245,158,11,0.22);stroke:#fbbf24}
.lot-shape[data-status=Separado]:hover,.lot-shape[data-status=Bloqueado]:hover{fill:rgba(245,158,11,0.45);stroke:#ffffff}

.lot-svg-label{fill:#ffffff;font-family:Inter,-apple-system,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,0.9),0 0 3px rgba(0,0,0,0.9)}

/* Barra superior minimalista y flotante (estilo High Garden) */
.tour-experience .tour-topbar{position:fixed;inset:var(--tour-edge) var(--tour-edge) auto;z-index:5;display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:0;pointer-events:none}
.tour-topbar>*{pointer-events:auto}

.tour-brand{display:flex;align-items:center;gap:8px;background:rgba(12,34,25,0.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.24);border-radius:9999px;padding:8px 16px;text-decoration:none;transition:all .2s ease;box-shadow:0 6px 18px rgba(0,0,0,0.35)}
.tour-brand:hover{background:rgba(18,52,38,0.92);border-color:#22c55e;transform:translateY(-1px)}
.tour-brand img{display:block;height:24px;width:auto;filter:brightness(0) invert(1)}

.tour-project{background:rgba(12,34,25,0.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.24);border-radius:9999px;color:white;padding:7px 18px;display:flex;align-items:center;gap:10px;box-shadow:0 6px 18px rgba(0,0,0,0.35)}
.tour-project>span{font-size:8px;font-weight:650;letter-spacing:.16em;color:#86efac;text-transform:uppercase}
.tour-project h1{font-size:13px;font-weight:600;margin:0;line-height:1;color:#ffffff}

.tour-actions{display:flex;gap:8px;margin-left:auto}
.tour-experience .tour-actions button{background:rgba(12,34,25,0.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#ffffff;border:1px solid rgba(255,255,255,0.24);border-radius:9999px;font-size:11.5px;font-weight:550;min-height:38px;padding:8px 18px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 6px 18px rgba(0,0,0,0.35)}
.tour-experience .tour-actions button:hover{background:rgba(22,134,77,0.9);border-color:#22c55e;transform:translateY(-1px)}
.tour-experience #showLots{background:#16864d;border-color:#22c55e}
.tour-experience #showLots:hover{background:#1bb065}

/* Mensaje discreto de estado */
.tour-experience .tour-notice{position:fixed;top:82px;left:var(--tour-edge);z-index:2;max-width:min(480px,calc(100vw - 48px));margin:0!important;padding:8px 14px;border:1px solid rgba(255,255,255,0.22);border-radius:9999px;color:#fff!important;background:rgba(12,34,25,0.85);font-size:11px!important;line-height:1.4;pointer-events:none;backdrop-filter:blur(12px);box-shadow:0 6px 18px rgba(0,0,0,0.3)}

/* Controles de visor a la izquierda (zoom, reset, satélite, fullscreen) */
.tour-experience .viewer-tools{position:fixed;left:var(--tour-edge);top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:8px}
.tour-experience .viewer-tools button{width:40px;min-height:40px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,0.24);background:rgba(12,34,25,0.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffffff;font-size:18px;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,0.35);transition:all .2s ease}
.tour-experience .viewer-tools button:hover{background:rgba(22,134,77,0.9);border-color:#22c55e;transform:scale(1.08)}

/* Barra inferior discreta (estilo High Garden) */
.tour-experience .tour-bottom{position:fixed;z-index:3;left:var(--tour-edge);bottom:var(--tour-edge);background:rgba(12,34,25,0.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.24);border-radius:14px;padding:12px 18px;color:#fff;max-width:min(540px,calc(100vw - 48px));box-shadow:0 12px 32px rgba(0,0,0,0.45);transition:all .2s ease}
.scene-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px}
.scene-heading .panel-eyebrow{font-size:8px;font-weight:650;letter-spacing:.14em;color:#86efac;text-transform:uppercase}
.scene-heading h2{font-size:14px;font-weight:600;letter-spacing:-.01em;margin:2px 0 0;color:white}
.scene-heading p{font-size:9.5px;color:#d5dfd5;margin:0}
.tour-experience #scenes{display:flex;gap:6px;overflow-x:auto;padding:2px 0 4px;margin:0;scrollbar-width:thin;scrollbar-color:#86efac transparent;flex-wrap:nowrap}
.tour-experience #scenes button{font-size:10px;font-weight:550;color:#e4ede5;background:rgba(255,255,255,0.08);min-height:32px;padding:6px 12px;border:1px solid rgba(255,255,255,0.2);border-radius:9999px;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:all .18s ease}
.tour-experience #scenes button:hover{background:rgba(255,255,255,0.18);border-color:#fff}
.tour-experience #scenes button[aria-pressed=true]{background:#16864d;border-color:#22c55e;color:#ffffff}
.tour-experience #scenes button:disabled{opacity:.5;cursor:wait}

/* Hotspots de conexión de escenas estilo High Garden */
.tour-experience #sceneLinks{position:absolute;inset:0;pointer-events:none;z-index:2}
.scene-hotspot{position:absolute;transform:translate(-50%,-100%);pointer-events:auto!important;background:transparent;border:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .2s cubic-bezier(0.16,1,0.3,1);z-index:2}
.scene-hotspot:hover{transform:translate(-50%,-105%) scale(1.08)}
.hotspot-label{font-family:Inter,-apple-system,sans-serif;font-size:11px;font-weight:600;letter-spacing:.02em;color:#ffffff;background:rgba(12,34,25,0.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.32);border-radius:9999px;padding:5px 12px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,0.45)}
.hotspot-pin{width:26px;height:26px;border-radius:50%;background:#16864d;border:2px solid #ffffff;box-shadow:0 2px 8px rgba(0,0,0,0.5),0 0 0 3px rgba(34,197,94,0.35);display:grid;place-items:center;color:#ffffff;transition:background .2s,box-shadow .2s;animation:pulse-pin 2.5s infinite}
.scene-hotspot:hover .hotspot-pin{background:#22c55e;box-shadow:0 2px 12px rgba(34,197,94,0.8),0 0 0 6px rgba(34,197,94,0.5)}
@keyframes pulse-pin{0%{box-shadow:0 2px 8px rgba(0,0,0,0.5),0 0 0 0 rgba(34,197,94,0.6)}70%{box-shadow:0 2px 8px rgba(0,0,0,0.5),0 0 0 10px rgba(34,197,94,0)}100%{box-shadow:0 2px 8px rgba(0,0,0,0.5),0 0 0 0 rgba(34,197,94,0)}}

/* Tarjeta flotante de lote (Tooltip interactivo idéntico a High Garden) */
.tour-experience #lotHint{position:absolute;z-index:10;pointer-events:auto;cursor:pointer;background:#ffffff;color:#173f37;border-radius:14px;box-shadow:0 14px 34px rgba(0,0,0,0.45),0 2px 6px rgba(0,0,0,0.15);border:1px solid rgba(0,0,0,0.08);padding:13px 16px;width:220px;box-sizing:border-box;animation:popIn .18s cubic-bezier(0.16,1,0.3,1);font-family:Inter,-apple-system,sans-serif}
@keyframes popIn{from{opacity:0;transform:scale(0.92) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}

.hg-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;padding-bottom:7px;border-bottom:1px solid #eef2ed}
.hg-lot-name{font-size:13.5px;font-weight:700;color:#123023}
.hg-status-badge{font-size:9.5px;font-weight:600;padding:3px 8px;border-radius:9999px;display:inline-flex;align-items:center;gap:4px}
.hg-status-badge.status-disponible{background:#e8f8ee;color:#15803d;border:1px solid #bbf7d0}
.hg-status-badge.status-vendido{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.hg-status-badge.status-separado,.hg-status-badge.status-bloqueado{background:#fefce8;color:#a16207;border:1px solid #fef08a}

.hg-card-body{display:flex;flex-direction:column;gap:5px;font-size:11px}
.hg-row{display:flex;justify-content:space-between;align-items:center}
.hg-label{color:#64748b;font-size:10.5px}
.hg-value{font-weight:600;color:#1e293b}
.hg-price-row .hg-price{color:#16864d;font-weight:700;font-size:12px}

.hg-card-footer{margin-top:9px;padding-top:7px;border-top:1px solid #f1f5f1;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:600;color:#16864d;letter-spacing:.02em}

/* Paneles de inventario, información del proyecto y cotizador */
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.panel-heading h2{font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.03em;margin:4px 0}
.panel-eyebrow{font-size:8px;letter-spacing:.13em;color:#748675;font-weight:600}
.tour-experience .icon-button{display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;background:#f1f5ef;border:0;border-radius:50%;font-size:20px;color:#40614b;flex-shrink:0;cursor:pointer}

.tour-experience .inventory-panel,.tour-experience .project-panel{position:fixed;z-index:6;left:var(--tour-edge);top:90px;bottom:180px;width:360px;max-width:calc(100vw - 48px);padding:22px;background:#fffffff8;backdrop-filter:blur(16px);border:1px solid #e0e8de;border-radius:14px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 36px rgba(0,0,0,0.4)}
.inventory-help{font-size:11px;color:#718071;line-height:1.6;margin:12px 0}
.tour-experience .filter-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#677666}
.tour-experience #status{font-size:11px;min-width:0;padding:8px 10px;min-height:36px;border-radius:6px}
.tour-experience #lots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.tour-experience .lot{padding:11px;border:1px solid #dce6da;border-radius:8px;background:white;min-width:0;overflow-wrap:anywhere;cursor:pointer;transition:all .15s ease}
.tour-experience .lot:hover{border-color:#16864d;transform:translateY(-1px)}
.tour-experience .lot b{font-size:11.5px}
.tour-experience .lot small{font-size:9px;line-height:1.5}
.tour-experience .lot>span{font-size:11px;font-weight:600}
.tour-experience .lot.selected{background:#edf6ed;border-color:#16864d}
.tour-experience .lot[data-status=Vendido]{background:#fcf4f1}
.tour-experience .lot[data-status=Separado],.tour-experience .lot[data-status=Bloqueado]{background:#fcf8ee}
.boundary-note{font-size:10px;line-height:1.6;color:#75806f;padding-top:14px;margin-top:16px;border-top:1px solid #dce5d8}

.tour-experience .project-panel{left:auto;right:var(--tour-edge);bottom:auto;width:360px;max-height:calc(100dvh - 200px)}
.project-panel p{font-size:12px}
.project-panel .plan-link{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 0;border-bottom:1px solid #dce5d8;font-size:12px;text-decoration:none;color:#16864d;font-weight:550}

.tour-experience #lotDialog{position:fixed;z-index:7;inset:90px var(--tour-edge) 180px auto;margin:0;width:370px;max-width:calc(100vw - 48px);height:auto;max-height:none;padding:0 20px 20px;border:6px solid rgba(255,255,255,0.4);border-radius:18px;background:#fff;background-clip:padding-box;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;color:#173f37;box-shadow:0 18px 40px rgba(0,0,0,0.45)}
.tour-experience #lotDialog:not([open]){display:none}
.tour-experience .lot-dialog-header{position:sticky;top:0;z-index:2;background:white;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:12px 0 10px;border-bottom:1px solid #e2e9de}
.tour-experience .lot-dialog-header h2{font-size:10px;font-weight:500;letter-spacing:.02em;color:#73816f}
.tour-experience #projectDetails{display:none}
.tour-experience .quote-card-head{gap:8px}
.tour-experience .quote-card-head h2{font-family:Georgia,serif;font-size:23px;letter-spacing:-.025em;font-weight:550}
.tour-experience .quote-status{font-size:9px;background:#16864d;color:white;padding:3px 9px;border-radius:9999px}
.tour-experience .quote-specs{font-size:11px;gap:10px;margin:12px 0 4px}
.tour-experience .quote-card summary{min-height:32px;font-size:10px}
.tour-experience .quote-card details p{font-size:10px}
.tour-experience .quote-line{font-size:11px;gap:10px;margin:9px 0}
.tour-experience .quote-price{padding-bottom:10px}
.tour-experience .quote-price strong{font-size:17px;color:#16864d}
.tour-experience .quote-mode{margin:14px 0;background:#f5f5ef;padding:3px;border-radius:6px}
.tour-experience .quote-mode button{font-size:10px;min-height:34px;padding:6px}
.tour-experience .quote-mode [aria-pressed=true]{background:white;border-color:#e3e8dc}
.tour-experience .quote-shortcuts{gap:6px}
.tour-experience .quote-shortcuts button{min-height:32px;padding:6px 3px;font-size:9px;background:#f5f5ef;border-radius:5px}
.tour-experience .quote-shortcuts [aria-pressed=true]{background:#16864d;color:white}
.tour-experience .quote-terms input[type=range]{accent-color:#16864d;min-height:32px;padding:0;border:0;background:transparent}
.tour-experience .quote-initial{font-size:10px;gap:5px;margin-top:10px}
.tour-experience .quote-initial input{min-height:34px;font-size:11px;padding:7px}
.tour-experience .quote-summary{padding:14px;margin-top:12px;background:#f6f5ef;border-radius:8px}
.tour-experience .quote-monthly{align-items:center}
.tour-experience .quote-monthly strong{font-family:Georgia,serif;font-size:24px;letter-spacing:-.03em;color:#16864d}
.tour-experience .quote-summary .quote-line{font-size:10px;margin:8px 0}
.tour-experience .quote-summary .quote-monthly{font-size:9px;margin-top:0}
.tour-experience .quote-muted{font-size:9px;line-height:1.6}
.tour-experience .quote-summary>p:last-child{margin-bottom:0}

.tour-experience.quote-visible .tour-bottom{right:420px}
.tour-experience.quote-visible .tour-notice{max-width:calc(100vw - 450px)}

@media(max-width:1000px){
  .tour-experience{--tour-edge:16px}
  .tour-experience .tour-topbar{gap:10px}
  .tour-experience .tour-actions button{padding-inline:14px;font-size:10.5px}
  .tour-experience #lotDialog{width:340px;padding-inline:16px}
  .tour-experience.quote-visible .tour-bottom{right:375px}
  .scene-heading p{display:none}
  .tour-experience .inventory-panel{width:315px;bottom:175px}
}

@media(max-width:700px){
  .tour-experience{--tour-edge:12px}
  .tour-experience .tour-topbar{gap:8px;flex-wrap:wrap}
  .tour-brand{padding:6px 12px}
  .tour-brand img{height:20px}
  .tour-project{padding:6px 12px}
  .tour-actions{width:100%;justify-content:flex-end;gap:6px}
  .tour-experience .tour-actions button{min-height:34px;padding:6px 12px;font-size:10px}
  .tour-experience .tour-notice{top:125px;left:12px;max-width:calc(100vw - 24px);font-size:9.5px!important}
  .tour-experience .viewer-tools{left:12px;top:45%;gap:6px}
  .tour-experience .viewer-tools button{width:36px;min-height:36px;font-size:17px}
  .tour-experience .tour-bottom{padding:10px 14px;bottom:12px;max-width:calc(100vw - 24px)}
  .tour-experience #lotDialog{inset:auto 8px 8px 8px;width:auto;max-width:none;max-height:60dvh;height:auto;border-width:4px;border-radius:14px;padding:0 16px 16px}
  .tour-experience.quote-visible .tour-bottom{display:none}
  .tour-experience.quote-visible .tour-notice{max-width:calc(100vw - 24px)}
  .tour-experience .inventory-panel,.tour-experience .project-panel{left:8px;right:8px;top:120px;bottom:145px;width:auto;max-width:none;padding:16px;border-radius:12px}
}
