/* Product: Zoho DAP - page-specific design. No official standalone icon file exists for DAP in
   the icon pack, so the accent is a chosen red (#e42527) from the Zoho brand family. Mechanic
   is a spotlight walkthrough tour: clicking "next" moves a highlight spotlight to a different
   mock UI element and advances a step counter - distinct from every other mechanic on the site
   (a self-guided product-tour spotlight, not Lens's click-to-annotate-for-someone-else, a
   switchboard, matcher, checker, feed, builder, race or grid).

   All classes scoped to .dap-page, prefixed dap-. */

.dap-page { --dap: #e42527; --dap-d: #a91315; --dap-l: #fdecec; }

.dap-page .ph-tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px; font-weight: 700; font-size: .9rem; color: #fff;
  margin-block-end: 18px;
}
.dap-page .ph-acts { display: flex; flex-wrap: wrap; gap: 12px; margin-block-start: 24px; }

/* --------------------------------------------------------------------------- tour -- */
.dap-tour { padding: clamp(48px, 7vw, 84px) 0; }
.dap-tour h2 { font-size: clamp(1.4rem, 3vw, 2.1rem); margin: 0 0 12px; }
.dap-tour .lede { max-width: 82ch; margin: 0 0 26px; }

.dap-screen { position: relative; max-width: 420px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; margin-block-end: 18px; }
.dap-mock-bar { display: flex; gap: 6px; padding: 10px 14px; background: var(--dap-l); }
.dap-mock-bar span { width: 9px; height: 9px; border-radius: 50%; background: color-mix(in srgb, var(--dap) 35%, var(--white)); }
.dap-mock-nav { display: flex; gap: 6px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.dap-mock-item { font-size: .78rem; font-weight: 700; padding: 6px 12px; border-radius: 8px; background: var(--dap-l); color: var(--dap-d); }
.dap-mock-body { padding: 20px 14px; }
.dap-mock-btn { display: inline-block; font-size: .8rem; font-weight: 700; padding: 8px 16px; border-radius: 8px; background: var(--dap); color: #fff; }

.dap-spot {
  position: absolute; border-radius: 10px; border: 2px solid var(--dap); pointer-events: none;
  box-shadow: 0 0 0 2000px rgba(20,20,20,.35);
  transition: top .35s ease, left .35s ease, width .35s ease, height .35s ease;
}

.dap-tooltip { max-width: 420px; padding: 16px 18px; background: var(--dap-l); border-radius: 12px; }
.dap-tip-step { margin: 0 0 6px; font-size: .74rem; font-weight: 800; color: var(--dap-d); text-transform: uppercase; letter-spacing: .04em; }
.dap-tip-text { margin: 0 0 14px; font-size: .92rem; color: var(--ink); line-height: 1.55; }
.dap-next { font-size: .86rem; }

/* ------------------------------------------------------------------------ need -- */
.dap-need {
  padding: clamp(40px, 6vw, 64px) 0;
  background: var(--dap-l);
  border-block: 1px solid color-mix(in srgb, var(--dap) 18%, var(--line));
}
.dap-need h2 { font-size: clamp(1.4rem, 2.8vw, 2rem); margin: 0 0 12px; }
.dap-need .lede { max-width: 82ch; margin: 0; }

/* ------------------------------------------------------------------------- caps -- */
.dap-caps { padding: clamp(48px, 7vw, 84px) 0; }
.dap-caps h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); margin: 0 0 22px; }
.dap-cap-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 13px; }
.dap-cap { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 16px 18px; }
.dap-cap b { display: block; margin-block-end: 6px; font-size: 1.02rem; color: var(--dap-d); }
.dap-cap p { margin: 0; color: var(--muted); font-size: .93rem; }

/* ------------------------------------------------------------------------- move -- */
.dap-move { padding: clamp(48px, 7vw, 84px) 0; }
.dap-move h2 { font-size: 1.35rem; margin: 0 0 10px; }
.dap-move h3 { font-size: 1.08rem; }
