/* Plaza de la Luna — interactive 3D floor plans (scoped: .pdlp) */
.pdlp {
  position: relative;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #eef4f1;
  background: #07242b;
  border: 1px solid rgba(198, 161, 91, 0.35);
  border-radius: var(--r-md);
  padding: 14px 14px 10px;
  box-sizing: border-box;
}
.pdlp *, .pdlp *::before, .pdlp *::after { box-sizing: border-box; }
.pdlp-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.pdlp-title h3 {
  margin: 0; font-family: "Playfair Display", Georgia, serif;
  font-size: 21px; font-weight: 600; color: #f6efdd;
}
.pdlp-sub { margin: 3px 0 0; font-size: 12px; color: #C6A15B; letter-spacing: 0.02em; }
.pdlp-lang { display: flex; border: 1px solid rgba(238, 244, 241, 0.25); border-radius: 999px; overflow: hidden; flex: 0 0 auto; }
.pdlp-lang button {
  appearance: none; border: 0; background: transparent; color: #cfe0da;
  font: 600 11px/1 Inter, sans-serif; padding: 6px 10px; cursor: pointer;
}
.pdlp-lang button.on { background: #C6A15B; color: #12262b; }
.pdlp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.pdlp-chip {
  font-size: 12px; background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 999px; padding: 4px 10px;
}
.pdlp-chip em { font-style: normal; color: #9fb8b0; margin-right: 5px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; }
.pdlp-layout {
  display: flex; flex-wrap: wrap; gap: 4px 16px; align-items: baseline;
  margin: 0 0 10px; padding: 8px 10px;
  border: 1px solid rgba(198, 161, 91, 0.3); border-radius: var(--r-sm);
  background: rgba(255, 255, 255, 0.03);
}
.pdlp-layout[hidden] { display: none; }
.pdlp-layhead { width: 100%; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.05em; color: #C6A15B; font-weight: 700; }
.pdlp-lay { font-size: 12px; color: #dfe9e4; }
.pdlp-lay b { color: #9fb8b0; font-weight: 600; }
.pdlp-legendbtn {
  appearance: none; border: 1px solid rgba(198, 161, 91, 0.5); background: transparent;
  color: #E3C98F; border-radius: 999px; font: 600 11.5px Inter, sans-serif;
  padding: 5px 12px; cursor: pointer; margin: 0 0 10px;
}
.pdlp-legend {
  display: flex; flex-wrap: wrap; gap: 14px 22px;
  border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--r-sm);
  padding: 10px 12px; margin: 0 0 10px; background: rgba(255, 255, 255, 0.04);
}
.pdlp-legend[hidden] { display: none; }
.pdlp-lgcol { display: flex; flex-direction: column; gap: 5px; min-width: 150px; flex: 1 1 170px; }
.pdlp-lgcol h5 { margin: 0 0 2px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.05em; color: #C6A15B; }
.pdlp-lgcol p { margin: 0; font-size: 12px; color: #cfe0da; line-height: 1.45; }
.pdlp-sw { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: #e6efea; }
.pdlp-sw i { width: 14px; height: 14px; border-radius: var(--r-xs); border: 1px solid rgba(255,255,255,0.35); flex: 0 0 auto; }
.pdlp-stage {
  position: relative; height: 430px; border-radius: var(--r-sm); overflow: hidden;
  background: #0a2e35;
}
.pdlp-canvas { width: 100%; height: 100%; display: block; cursor: grab; }
.pdlp-canvas:active { cursor: grabbing; }
.pdlp-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 8px; }
.pdlp-hint { font-size: 11.5px; color: #9fb8b0; }
.pdlp-reset {
  appearance: none; border: 1px solid rgba(198, 161, 91, 0.55); background: transparent;
  color: #E3C98F; border-radius: 999px; font: 600 11.5px Inter, sans-serif;
  padding: 5px 12px; cursor: pointer; flex: 0 0 auto;
}
.pdlp-note { margin: 8px 0 2px; font-size: 11px; color: #8fa8a1; font-style: italic; }
@media (max-width: 640px) {
  .pdlp-stage { height: 340px; }
  .pdlp-title h3 { font-size: 18px; }
}
