/* ============================================================
   Open Door Accounts — front-end styles
   Namespaced .oda-* with !important on structural properties,
   because these render inside an unknown WordPress theme that
   may style forms, inputs and buttons aggressively.
   ============================================================ */

.oda-card{
  max-width:560px !important; margin:0 auto 22px !important; padding:26px 26px 24px !important;
  background:#fff !important; border:1px solid #d7dde5 !important; border-radius:12px !important;
  font-family:"Segoe UI",Helvetica,Arial,sans-serif !important; color:#1c2530 !important;
  box-sizing:border-box !important; text-align:left !important;
}
.oda-card *, .oda-card *::before, .oda-card *::after{ box-sizing:border-box !important; }

.oda-title{
  font-size:1.2rem !important; font-weight:700 !important; color:#004188 !important;
  margin:0 0 8px !important; line-height:1.3 !important;
}
.oda-lede{ color:#697585 !important; font-size:.9rem !important; line-height:1.55 !important; margin:0 0 18px !important; }
.oda-hint{ color:#697585 !important; font-size:.78rem !important; margin:6px 0 14px !important; line-height:1.5 !important; }
.oda-opt{ color:#9aa5b1 !important; font-weight:400 !important; }
.oda-muted{ color:#9aa5b1 !important; font-size:.82rem !important; }
.oda-nowrap{ white-space:nowrap !important; }

/* ---------- Form ---------- */
.oda-form{ margin:0 !important; }
.oda-label{
  display:block !important; font-size:.8rem !important; font-weight:600 !important;
  color:#004188 !important; margin:0 0 14px !important;
}
.oda-input{
  display:block !important; width:100% !important; margin:5px 0 0 !important;
  padding:10px 12px !important; border:1px solid #d7dde5 !important; border-radius:8px !important;
  background:#fff !important; color:#1c2530 !important; font-family:inherit !important;
  font-size:.92rem !important; font-weight:400 !important; line-height:1.3 !important;
  height:auto !important; min-height:0 !important; box-shadow:none !important; max-width:100% !important;
}
.oda-input:focus{
  outline:none !important; border-color:#004188 !important;
  box-shadow:0 0 0 3px rgba(0,65,136,.12) !important;
}
.oda-row{ display:flex !important; gap:12px !important; }
.oda-row .oda-label{ flex:1 1 0 !important; min-width:0 !important; }
.oda-check{
  display:flex !important; align-items:center !important; gap:8px !important;
  font-size:.84rem !important; color:#1c2530 !important; margin:0 0 16px !important; font-weight:400 !important;
}
.oda-check input{ margin:0 !important; accent-color:#004188 !important; width:auto !important; }

/* Honeypot — off-screen rather than display:none, which some bots detect. */
.oda-hp{ position:absolute !important; left:-9999px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* ---------- Buttons ---------- */
.oda-btn{
  display:inline-block !important; width:auto !important; appearance:none !important; -webkit-appearance:none !important;
  border:1px solid transparent !important; border-radius:6px !important; padding:10px 18px !important; margin:0 !important;
  font-family:inherit !important; font-size:.86rem !important; font-weight:600 !important; line-height:1.2 !important;
  text-align:center !important; text-decoration:none !important; text-transform:none !important;
  letter-spacing:normal !important; cursor:pointer !important; box-shadow:none !important; text-shadow:none !important;
}
.oda-btn-gold{ background:#c9a14a !important; color:#2b2205 !important; }
.oda-btn-navy{ background:#004188 !important; color:#fff !important; }
.oda-btn-ghost{ background:#fff !important; color:#004188 !important; border-color:#d7dde5 !important; }
.oda-btn-full{ display:block !important; width:100% !important; margin-top:4px !important; }
.oda-btn-small{ padding:6px 12px !important; font-size:.78rem !important; }
.oda-btn:hover{ filter:brightness(1.07) !important; }
.oda-actions{ display:flex !important; gap:10px !important; flex-wrap:wrap !important; margin:4px 0 0 !important; }

/* ---------- Messages ---------- */
.oda-flash{
  padding:12px 14px !important; border-radius:8px !important; font-size:.86rem !important;
  line-height:1.5 !important; margin:0 0 16px !important; border:1px solid transparent !important;
}
.oda-flash.oda-success{ background:#e9f6ef !important; border-color:#a9dcc0 !important; color:#1f7a4d !important; }
.oda-flash.oda-error{ background:#fbeae5 !important; border-color:#eab6a5 !important; color:#b3452c !important; }

.oda-foot{ font-size:.82rem !important; color:#697585 !important; margin:14px 0 0 !important; line-height:1.6 !important; }
.oda-foot a{ color:#004188 !important; }

/* ---------- Tables ---------- */
.oda-details, .oda-subs{
  width:100% !important; border-collapse:collapse !important; margin:0 0 18px !important; font-size:.87rem !important;
}
.oda-details th{
  text-align:left !important; padding:8px 12px 8px 0 !important; color:#697585 !important;
  font-weight:600 !important; width:130px !important; vertical-align:top !important; border:none !important;
}
.oda-details td{ padding:8px 0 !important; color:#1c2530 !important; border:none !important; }
.oda-subs th{
  text-align:left !important; padding:8px 10px !important; font-size:.7rem !important; text-transform:uppercase !important;
  letter-spacing:.06em !important; color:#697585 !important; border-bottom:1px solid #d7dde5 !important; font-weight:700 !important;
}
.oda-subs td{ padding:10px !important; border-bottom:1px solid #eef1f5 !important; vertical-align:middle !important; }
.oda-subs tr:last-child td{ border-bottom:none !important; }

@media (max-width:560px){
  .oda-row{ display:block !important; }
  .oda-card{ padding:20px 16px !important; }
  .oda-subs th:nth-child(4), .oda-subs td:nth-child(4){ display:none !important; }
}

/* ---------- Profile photo ---------- */
.oda-avatar-row{ display:flex !important; gap:18px !important; align-items:flex-start !important; flex-wrap:wrap !important; }
img.oda-avatar-img{ border-radius:50% !important; display:block !important; border:2px solid #d7dde5 !important; flex:none !important; }
.oda-avatar-form{ flex:1 1 240px !important; min-width:0 !important; }
.oda-avatar-form .oda-input{ padding:8px !important; font-size:.84rem !important; }
