/* Digital Nest guided tour — scoped additions; no existing viewer rules changed. */
.dn-guide-replay,
.dn-walk-guide-replay {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  border: 1px solid rgba(237,193,122,.75);
  background: rgba(10,23,39,.92);
  color: #f1d3a2;
  font: 800 11px/1.2 Manrope, system-ui, sans-serif;
  padding: 9px 13px;
  border-radius: 9px;
  cursor: pointer;
  box-shadow: 0 7px 20px rgba(0,0,0,.25);
}
.dn-guide-replay { right: 20px; top: 63px; }
.dn-walk-guide-replay { right: 16px; top: 22px; z-index: 15; }
.dn-guide-replay:hover,
.dn-walk-guide-replay:hover,
.dn-guide-replay:focus-visible,
.dn-walk-guide-replay:focus-visible {
  background: #283a4b;
  color: #fff;
}
.dn-guided-tour { position: fixed; inset: 0; z-index: 20000; font-family: Manrope, system-ui, sans-serif; }
.dn-tour-backdrop { position: fixed; inset: 0; border: 0; background: transparent; cursor: default; }
.dn-tour-spotlight {
  position: fixed;
  border: 2px solid #f0c986;
  border-radius: 12px;
  box-shadow: 0 0 0 200vmax rgba(2,8,17,.79), 0 0 28px rgba(240,201,134,.4);
  pointer-events: none;
  transition: left .18s ease, top .18s ease, width .18s ease, height .18s ease;
}
.dn-tour-card {
  position: fixed;
  z-index: 2;
  width: min(345px, calc(100vw - 24px));
  max-height: min(420px, calc(100dvh - 24px));
  overflow-y: auto;
  background: #121e2d;
  border: 1px solid rgba(237,193,122,.85);
  box-shadow: 0 14px 60px rgba(0,0,0,.68);
  color: #f7f4ec;
  border-radius: 15px;
  padding: 20px;
}
.dn-tour-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.dn-tour-kicker { font-size: 9px; line-height: 1.5; letter-spacing: 1.6px; font-weight: 800; color: #edc17a; }
.dn-tour-close { color: #c4cfde; border: 1px solid #3c5065; background: #1b2b3e; border-radius: 8px; cursor: pointer; width: 29px; height: 29px; flex: none; font-size: 22px; line-height: 24px; }
.dn-tour-card h2 { font: 800 21px/1.25 Manrope,system-ui,sans-serif; margin: 14px 0 10px; color: #fff; letter-spacing: -.4px; }
.dn-tour-card p { color: #c3cedb; font: 400 13px/1.7 'DM Sans',system-ui,sans-serif; margin: 0 0 18px; }
.dn-tour-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.dn-tour-progress { color: #afbbca; font: 700 11px/1.4 'DM Sans',sans-serif; }
.dn-tour-actions { display: flex; gap: 8px; }
.dn-tour-prev,.dn-tour-next { font: 800 12px Manrope,system-ui,sans-serif; padding: 10px 13px; border-radius: 8px; cursor: pointer; }
.dn-tour-prev { background: #233348; color: #e2e7ee; border: 1px solid #3c5065; }
.dn-tour-prev[hidden] { display: none; }
.dn-tour-next { background: #edc17a; color: #14202d; border: 1px solid #edc17a; }
.dn-tour-skip { margin-top: 15px; padding: 0; border: 0; background: none; color: #bbc6d4; text-decoration: underline; text-underline-offset: 3px; font: 600 11px 'DM Sans', sans-serif; cursor: pointer; }
.dn-guided-tour button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 610px) {
  .dn-guide-replay { right: 13px; top: 53px; padding: 8px 10px; font-size: 10px; }
  .dn-walk-guide-replay { top: 65px; right: 12px; font-size: 10px; }
  .dn-tour-card { padding: 16px; }
  .dn-tour-card h2 { font-size: 19px; }
  .dn-tour-card p { font-size: 12px; }
  .dn-tour-spotlight { transition-duration: .1s; }
}
@media (prefers-reduced-motion: reduce) {
  .dn-tour-spotlight { transition: none; }
}
