/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #F4EFE7; }
html { scroll-behavior: smooth; }
a { text-decoration: none; }

body {
  font-family: 'Hanken Grotesk', system-ui, sans-serif;
  color: #0B1B2B;
  background: #F4EFE7;
}

/* Themed scrollbar (matches original design export) */
.dh-scroll::-webkit-scrollbar { width: 10px; }
.dh-scroll::-webkit-scrollbar-thumb { background: rgba(150,140,125,.4); border-radius: 10px; }

/* WYSIWYG policy editor + the rendered policy body (same look in both). */
.dh-richtext:empty::before { content: attr(data-placeholder); color: #B0A696; }
.dh-richtext h2, .dh-prose h2 { font: 700 17px 'Hanken Grotesk'; color: #2C2723; margin: 18px 0 8px; }
.dh-richtext h3, .dh-prose h3 { font: 700 15px 'Hanken Grotesk'; color: #2C2723; margin: 15px 0 6px; }
.dh-richtext p,  .dh-prose p  { margin: 0 0 11px; }
.dh-richtext ul, .dh-richtext ol, .dh-prose ul, .dh-prose ol { margin: 0 0 11px; padding-left: 22px; }
.dh-richtext li, .dh-prose li { margin: 0 0 5px; }
.dh-richtext blockquote, .dh-prose blockquote {
  margin: 0 0 11px; padding: 8px 14px; border-left: 3px solid #E1CF9E;
  background: #FBF8F2; color: #6E655A;
}
.dh-richtext a, .dh-prose a { color: #0966C7; text-decoration: underline; }
.dh-prose { font: 400 14.5px 'Hanken Grotesk', sans-serif; color: #3C3630; line-height: 1.8; }

/* Hover behaviors (the design export used a custom style-hover attribute) */
.dh-navlink { color: #5A5246; transition: color .15s ease; }
.dh-navlink:hover { color: #0B1B2B; }

.dh-signin:hover { background: rgba(11,27,43,.06); }

.dh-cta-primary { transition: all .15s ease; }
.dh-cta-primary:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(9,102,199,.36); }

.dh-cta-white { transition: all .15s ease; }
.dh-cta-white:hover { transform: translateY(-2px); }

.dh-footlink { transition: color .15s ease; }
.dh-footlink:hover { color: #fff !important; }

.dh-cta-secondary { transition: all .15s ease; }
.dh-cta-secondary:hover { border-color: #0966C7 !important; color: #0966C7 !important; }

.dh-feature { transition: all .15s ease; }
.dh-feature:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(40,30,18,.1); border-color: #CFE0F3; }

.dh-faq:hover { border-color: #CFE0F3; }

.dh-pill { transition: all .14s ease; }
.dh-pill:hover { border-color: #0966C7 !important; color: #0966C7 !important; }

.dh-cta-ghost { transition: all .15s ease; }
.dh-cta-ghost:hover { background: rgba(255,255,255,.22) !important; }

.dh-search { transition: border-color .15s ease; }
.dh-search:focus-within { border-color: #0966C7; }

/* App sidebar nav items */
.dh-navitem { transition: background .12s ease; }
.dh-navitem:hover { background: #EFE7D8 !important; }

/* Data inventory: clickable source name */
.dh-source-name { transition: color .12s ease; }
.dh-source-link:hover .dh-source-name { color: #0966C7; }

/* Assessment response control (Yes / Partial / No / N/A) — radio-based, color-coded */
.dh-resp { display: flex; gap: 3px; background: #F1EADD; border: 1px solid #E6DECF; border-radius: 11px; padding: 3px; }
.dh-resp input { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.dh-resp-opt { flex: 1; text-align: center; font: 600 12.5px 'Hanken Grotesk', sans-serif; padding: 8px 6px; border-radius: 8px; cursor: pointer; color: #6E655A; transition: all .14s ease; white-space: nowrap; }
.dh-resp-opt:hover { background: #EAE1D2; }
.dh-resp input:checked + .dh-resp-yes     { background: #2E7D52; color: #fff; }
.dh-resp input:checked + .dh-resp-partial { background: #B07A12; color: #fff; }
.dh-resp input:checked + .dh-resp-no      { background: #C0392B; color: #fff; }
.dh-resp input:checked + .dh-resp-na      { background: #7A7064; color: #fff; }
.dh-resp input:focus-visible + .dh-resp-opt { outline: 2px solid #0966C7; outline-offset: 1px; }

/* Account-page form inputs (Profile, Settings) — icon-padded text fields */
.dh-in {
  width: 100%;
  border: 1px solid #E7DECF;
  background: #FBF8F2;
  border-radius: 12px;
  padding: 13px 14px 13px 42px;
  font: 500 14px 'Hanken Grotesk';
  color: #2C2723;
  outline: none;
  transition: border-color .14s, box-shadow .14s;
}
.dh-in:focus { border-color: #0966C7; box-shadow: 0 0 0 3px rgba(9,102,199,.12); background: #fff; }
.dh-in::placeholder { color: #B7AD9C; }

.dh-faq-item { transition: border-color .15s ease; }
.dh-faq-item:hover { border-color: #CFE0F3; }

/* Auth screens */
input { font-family: 'Hanken Grotesk', sans-serif; }
.dh-field { transition: border-color .15s ease; }
.dh-field:focus-within { border-color: #0966C7; }
.dh-sso { transition: all .14s ease; }
.dh-sso:hover { border-color: #D2C6B0 !important; background: #fff !important; }
.dh-back { transition: color .15s ease; }
.dh-back:hover { color: #0B1B2B !important; }

/* Legal page table-of-contents links */
.dh-toc { transition: all .14s ease; }
.dh-toc:hover { background: #FBF8F2; color: #0966C7 !important; border-left-color: #0966C7 !important; }
