/* ============================================================
   Zastre & Co. — DocuSeal brand override
   Loaded after the compiled packs; uses !important to win.
   Palette: Blue #1F2E43 · Tan #C7BEAD · Cream #F2F1EC (3 colors only)
   Type: Ivy Mode (display serif) + Helvetica Neue (body sans)
   Motif: square corners, hairline rules, no gradients/shadow.
   ============================================================ */

/* ---------- Fonts ---------- */
@font-face { font-family:'Ivy Mode'; src:url('/fonts/zastre/IvyMode-Light.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Ivy Mode'; src:url('/fonts/zastre/IvyMode-LightItalic.woff2') format('woff2'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Ivy Mode'; src:url('/fonts/zastre/IvyMode-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Ivy Mode'; src:url('/fonts/zastre/IvyMode-Italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'Ivy Mode'; src:url('/fonts/zastre/IvyMode-SemiBold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Ivy Mode'; src:url('/fonts/zastre/IvyMode-Bold.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Helvetica Neue Z'; src:url('/fonts/zastre/HelveticaNeueLight.otf') format('opentype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Helvetica Neue Z'; src:url('/fonts/zastre/HelveticaNeueLightItalic.otf') format('opentype'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Helvetica Neue Z'; src:url('/fonts/zastre/HelveticaNeueRoman.otf') format('opentype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Helvetica Neue Z'; src:url('/fonts/zastre/HelveticaNeueMedium.otf') format('opentype'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Helvetica Neue Z'; src:url('/fonts/zastre/HelveticaNeueBold.otf') format('opentype'); font-weight:700; font-style:normal; font-display:swap; }

:root{
  --zc-blue:#1F2E43; --zc-blue-hover:#16222f; --zc-gold:#C7BEAD; --zc-cream:#F2F1EC;
  /* daisyUI radius tokens -> square */
  --rounded-box:2px; --rounded-btn:2px; --rounded-badge:2px;
}

/* ---------- Typography ---------- */
html, body, .btn, button, input, select, textarea, .menu, .navbar, p, span, td, th, label, a {
  font-family:'Helvetica Neue Z','Helvetica Neue',Helvetica,Inter,system-ui,sans-serif !important;
}
body { font-weight:300; color:var(--zc-blue) !important; }
h1,h2,h3,h4,.text-3xl,.text-2xl,.text-xl,.card-title,.text-lg {
  font-family:'Ivy Mode',Georgia,'Times New Roman',serif !important;
  font-weight:400 !important; letter-spacing:-0.005em;
}

/* ---------- Square the whole system ---------- */
.btn,.card,.input,.select,.textarea,.menu li>*,.modal-box,.badge,.alert,.dropdown-content,
.rounded,.rounded-md,.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-3xl,.tabs,.tab,.tooltip,
.checkbox,.file-input,.join-item { border-radius:2px !important; }
.rounded-full { border-radius:9999px !important; } /* keep avatars/toggles round */

/* ---------- Surfaces ---------- */
body,.bg-base-100{ background-color:#ffffff !important; }
.bg-base-200,.bg-base-300{ background-color:var(--zc-cream) !important; }

/* ---------- Primary / neutral actions -> brand blue ---------- */
.btn-primary,.btn-neutral{
  background-color:var(--zc-blue) !important; border-color:var(--zc-blue) !important;
  color:#fff !important; font-weight:300 !important;
}
.btn-primary:hover,.btn-neutral:hover{ background-color:var(--zc-blue-hover) !important; border-color:var(--zc-blue-hover) !important; }
.btn-outline{ color:var(--zc-blue) !important; border-color:var(--zc-blue) !important; background:transparent !important; }
.btn-outline:hover{ background-color:var(--zc-blue) !important; color:#fff !important; }

/* accent / secondary -> tan */
.btn-accent,.badge-accent{ background-color:var(--zc-gold) !important; border-color:var(--zc-gold) !important; color:var(--zc-blue) !important; }

/* ---------- Links / accents ---------- */
a.link,.link,.link-primary,.text-primary{ color:var(--zc-blue) !important; }
.text-accent{ color:var(--zc-blue) !important; }

/* ---------- Navbar ---------- */
.navbar{ background-color:#fff !important; color:var(--zc-blue) !important; border-bottom:1px solid rgba(31,46,67,.12) !important; }

/* ---------- Inputs ---------- */
.input,.select,.textarea,.file-input{
  border:1px solid rgba(31,46,67,.25) !important; color:var(--zc-blue) !important; background:#fff !important;
}
.input:focus,.select:focus,.textarea:focus{ outline:none !important; border-color:var(--zc-blue) !important; box-shadow:0 0 0 1px var(--zc-blue) !important; }

/* progress / checkboxes pick up brand */
.checkbox:checked,.toggle:checked{ background-color:var(--zc-blue) !important; border-color:var(--zc-blue) !important; }
progress::-webkit-progress-value{ background-color:var(--zc-blue) !important; }

/* kill gradients / heavy shadows for the editorial look */
.shadow,.shadow-md,.shadow-lg,.shadow-xl{ box-shadow:0 1px 0 rgba(31,46,67,.06),0 18px 40px -28px rgba(31,46,67,.20) !important; }

/* ---------- Replace the hardcoded DocuSeal seal (Vue ProjectLogo, compiled-in) ----------
   It's an inline SVG with style="color:#e97a42" rendered in the template builder + signing
   forms. We can't edit the compiled component without a full JS rebuild, so hide its paths
   and paint the Zastre wordmark behind it. Selector keys off the unique brand-orange. */
svg[style*="e97a42"] > path,
svg[style*="e97a42"] > circle { fill: transparent !important; }
svg[style*="e97a42"]{
  width: 120px !important;
  height: 32px !important;
  background: url('/zastre-wordmark.svg') left center / contain no-repeat !important;
  color: transparent !important;
}
