/**
 * Briefcase Deluxe Contact Form — front-end
 * Namespaced .bdcf-* · indigo / teal / gold on white.
 */
.bdcf-wrap{
  --bdcf-ink:#1A1A66; --bdcf-body:#1F3556; --bdcf-teal:#377280; --bdcf-gold:#C8821F;
  --bdcf-paper:#FFFFFF; --bdcf-grey:#D9D9D9;
  --bdcf-rule:rgba(26,26,102,.13);
  --bdcf-label-color:var(--bdcf-ink);
  --bdcf-input-bg:var(--bdcf-paper);
  --bdcf-input-radius:10px;
  --bdcf-btn-radius:99px;
  --bdcf-gap:18px;
  --bdcf-display:"Fraunces","Times New Roman",serif;
  --bdcf-font:"Manrope",system-ui,-apple-system,sans-serif;
  font-family:var(--bdcf-font); color:var(--bdcf-body); -webkit-font-smoothing:antialiased;
}
.bdcf-wrap *{ box-sizing:border-box; }

/* ---------- Progress (multi-step) ---------- */
.bdcf-progress{ display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.bdcf-progress-track{ flex:1; height:5px; border-radius:99px; background:rgba(26,26,102,.1); overflow:hidden; }
.bdcf-progress-bar{ height:100%; background:var(--bdcf-teal); border-radius:99px; transition:width .35s cubic-bezier(.2,.7,.2,1); }
.bdcf-progress-label{ font-size:13px; font-weight:600; color:var(--bdcf-ink); white-space:nowrap; }

/* ---------- Steps ---------- */
.bdcf-step{ display:none; }
.bdcf-step.is-active{ display:block; animation:bdcf-in .3s ease; }
@keyframes bdcf-in{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }

/* ---------- Layout ---------- */
.bdcf-fields{ display:grid; grid-template-columns:1fr 1fr; gap:var(--bdcf-gap) 16px; }
.bdcf-field{ grid-column:1 / -1; }
.bdcf-field.bdcf-half{ grid-column:auto / span 1; }
@media (max-width:620px){ .bdcf-field.bdcf-half{ grid-column:1 / -1; } }
.bdcf-cond-hidden{ display:none !important; }

/* ---------- Field chrome ---------- */
.bdcf-label{ display:block; font-size:13px; font-weight:600; color:var(--bdcf-label-color); margin-bottom:6px; }
.bdcf-req{ color:var(--bdcf-gold); }
.bdcf-hint{ display:block; margin-top:5px; font-size:12px; color:var(--bdcf-body); opacity:.65; }
.bdcf-field input[type=text],.bdcf-field input[type=email],.bdcf-field input[type=tel],
.bdcf-field input[type=number],.bdcf-field input[type=date],.bdcf-field input[type=time],
.bdcf-field input[type=url],.bdcf-field select,.bdcf-field textarea{
  width:100%; font-family:var(--bdcf-font); font-size:15px; color:var(--bdcf-ink);
  padding:12px 14px; border:1px solid var(--bdcf-rule); border-radius:var(--bdcf-input-radius); background:var(--bdcf-input-bg);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.bdcf-field input:focus,.bdcf-field select:focus,.bdcf-field textarea:focus{
  outline:none; border-color:var(--bdcf-teal); box-shadow:0 0 0 3px rgba(55,114,128,.12);
}
.bdcf-field input[type=file]{ width:100%; font-size:14px; padding:10px 0; color:var(--bdcf-body); }

.bdcf-choices{ display:flex; flex-direction:column; gap:8px; }
.bdcf-choice{ display:flex; align-items:center; gap:9px; font-size:15px; color:var(--bdcf-body); cursor:pointer; }
.bdcf-choice input{ width:auto; margin:0; accent-color:var(--bdcf-teal); }

.bdcf-consent{ display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.55; color:var(--bdcf-body); cursor:pointer; }
.bdcf-consent input{ margin-top:3px; accent-color:var(--bdcf-teal); }

.bdcf-heading-field{ margin-top:8px; }
.bdcf-section-h{ font-family:var(--bdcf-display); font-weight:600; font-size:21px; letter-spacing:-0.01em; color:var(--bdcf-ink); margin:0 0 4px; }
.bdcf-section-p{ margin:0; font-size:14px; color:var(--bdcf-body); opacity:.75; }

/* honeypot — off-screen, not display:none */
.bdcf-hp{ position:absolute !important; left:-9999px !important; height:0; overflow:hidden; }

/* ---------- Messages / nav ---------- */
.bdcf-msg{ margin:18px 0 0; padding:12px 14px; border-radius:10px; font-size:14px; background:rgba(200,130,31,.12); color:#9a5a12; }
.bdcf-nav{ display:flex; gap:12px; margin-top:26px; }
.bdcf-nav .bdcf-submit{ margin-left:auto; }
.bdcf-nav .bdcf-next{ margin-left:auto; }

.bdcf-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 26px; border-radius:var(--bdcf-btn-radius); font-weight:600; font-size:15px; font-family:var(--bdcf-font);
  border:none; cursor:pointer; transition:transform .2s ease, background .2s ease, color .2s ease;
}
.bdcf-btn-primary{ background:var(--bdcf-ink); color:#fff; }
.bdcf-btn-primary:hover{ background:var(--bdcf-teal); transform:translateY(-2px); }
.bdcf-btn-primary[disabled]{ opacity:.6; cursor:default; transform:none; }
.bdcf-btn-ghost{ background:transparent; color:var(--bdcf-ink); border:1.5px solid var(--bdcf-rule); }
.bdcf-btn-ghost:hover{ border-color:var(--bdcf-ink); }

/* ---------- Success ---------- */
.bdcf-success{ text-align:center; padding:36px 16px; }
.bdcf-success-check{
  width:64px; height:64px; border-radius:99px; margin:0 auto 18px; background:rgba(55,114,128,.14);
  display:flex; align-items:center; justify-content:center;
}
.bdcf-success-check svg{ width:32px; height:32px; stroke:var(--bdcf-teal); fill:none; stroke-width:3; }
.bdcf-success h4{ font-family:var(--bdcf-display); font-weight:600; font-size:24px; color:var(--bdcf-ink); margin:0 0 8px; }
.bdcf-success p{ color:var(--bdcf-body); line-height:1.6; margin:0; font-size:15px; }

@media (prefers-reduced-motion:reduce){
  .bdcf-step.is-active{ animation:none; }
  .bdcf-btn:hover{ transform:none; }
  .bdcf-progress-bar{ transition:none; }
}

/* ---------- Styling-option modifiers ---------- */
.bdcf-wrap.bdcf-btn-outline .bdcf-btn-primary{
  background:transparent; color:var(--bdcf-ink);
  border:1.5px solid var(--bdcf-ink); box-shadow:none;
}
.bdcf-wrap.bdcf-btn-outline .bdcf-btn-primary:hover{
  background:var(--bdcf-teal); border-color:var(--bdcf-teal); color:#fff;
}
.bdcf-wrap.bdcf-btn-full .bdcf-submit{ width:100%; margin-left:0; }
.bdcf-wrap.bdcf-btn-full .bdcf-nav{ flex-direction:column; }
.bdcf-wrap.bdcf-btn-full .bdcf-nav .bdcf-next{ width:100%; margin-left:0; }
