/**
 * Don't Flock Core
 *
 * Neutral, self-contained styling so forms and records are legible on any
 * theme. Where the Don't Flock theme is active its custom properties take over.
 */

.dfc-shell{max-width:820px;margin:0 auto;padding:40px 20px}

.dfc-eyebrow{
  font-family:var(--df-mono,ui-monospace,SFMono-Regular,monospace);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--df-slate,#67788A);margin:0 0 10px;
  display:flex;align-items:center;gap:11px;
}
.dfc-eyebrow::before{content:"";width:24px;height:1px;background:var(--df-orange,#CF5B18)}

.dfc-title{margin:0 0 22px;line-height:1.1}
.dfc-sub{margin:36px 0 12px;font-size:1.15rem}

.dfc-facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:0 24px;margin:0 0 30px;padding:18px 20px;
  background:var(--df-paper-2,#F3F1EC);
  border:1px solid var(--df-line,rgba(20,20,20,.14));border-radius:3px;
}
.dfc-facts > div{padding:8px 0;border-bottom:1px solid var(--df-line,rgba(20,20,20,.10))}
.dfc-facts dt{
  font-family:var(--df-mono,ui-monospace,monospace);font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--df-slate,#67788A);
}
.dfc-facts dd{margin:3px 0 0;font-size:15px}

.dfc-body{line-height:1.7}
.dfc-body p{margin:0 0 18px}

.dfc-list{margin:26px 0 0;border-top:1px solid var(--df-line,rgba(20,20,20,.14))}
.dfc-row{
  padding:16px 0 16px 14px;border-bottom:1px solid var(--df-line,rgba(20,20,20,.10));
  border-left:3px solid transparent;
}
.dfc-row--op{border-left-color:var(--df-opposes,#2E6B4E)}
.dfc-row--su{border-left-color:var(--df-supports,#B23A2A)}
.dfc-row--mx{border-left-color:var(--df-mixed,#B07A18)}
.dfc-row-title{font-weight:700;font-size:17px;text-decoration:none}
.dfc-row-meta{margin:5px 0 0;font-size:14.5px;color:var(--df-ink-2,#4A4A4A);line-height:1.5}

.df-sources{
  font-family:var(--df-mono,ui-monospace,monospace);font-size:12.5px;
  padding-left:1.4em;margin:12px 0 0;
}
.df-sources li{margin-bottom:6px}

/* -------------------------------------------------------------------------
   Forms. These must look deliberate on any theme, because they are the only
   thing a visitor is asked to fill in.
   ---------------------------------------------------------------------- */

.df-form{max-width:100%}
.df-fieldset{
  border:1px solid var(--df-line,rgba(20,20,20,.16));border-radius:3px;
  padding:22px 24px 8px;margin:0 0 22px;
  background:var(--df-paper,#FFFCF5);
}
.df-fieldset legend{font-weight:700;font-size:15px;padding:0 9px}
.df-optional{
  font-family:var(--df-mono,ui-monospace,monospace);font-size:10.5px;font-weight:400;
  color:var(--df-slate,#67788A);text-transform:uppercase;letter-spacing:.1em;margin-left:6px;
}
.df-field{margin:0 0 16px}
.df-field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.df-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:600px){.df-field-row{grid-template-columns:1fr;gap:0}}
.df-req{
  font-family:var(--df-mono,ui-monospace,monospace);font-size:10px;font-weight:600;
  color:var(--df-supports,#B23A2A);text-transform:uppercase;letter-spacing:.1em;margin-left:5px;
}
.df-hint{display:block;font-size:12.5px;color:var(--df-slate,#67788A);margin-top:5px;line-height:1.5}

.df-input{
  width:100%;padding:12px 14px;font-size:16px;font-family:inherit;
  border:1px solid var(--df-line,rgba(20,20,20,.24));border-radius:3px;
  background:#fff;color:inherit;
}
.df-input:focus{outline:2px solid var(--df-orange,#CF5B18);outline-offset:1px;border-color:transparent}
textarea.df-input{resize:vertical;min-height:130px}

.df-btn{
  display:inline-block;border:0;cursor:pointer;
  background:var(--df-orange,#CF5B18);color:#fff;
  padding:14px 28px;border-radius:3px;font-size:15px;font-weight:700;
}
.df-btn:hover{background:var(--df-orange-lift,#E56F28);color:#fff}

.df-form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.df-notice{
  padding:14px 18px;border-radius:3px;margin:0 0 24px;line-height:1.55;
  border-left:3px solid var(--df-slate,#67788A);
  background:var(--df-paper-2,#F3F1EC);
}
.df-notice--ok{border-left-color:var(--df-opposes,#2E6B4E)}
.df-notice--bad{border-left-color:var(--df-supports,#B23A2A)}

/* Contact form thank-you modal + inline error (ported from theme v2.9.2) */
.df-modal{position:fixed;inset:0;z-index:99998;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(22,41,60,.55)}
.df-modal[hidden]{display:none}
.df-modal-card{background:var(--df-paper,#F4EDDF);border:2px solid var(--df-orange,#CF5B18);border-radius:4px;max-width:480px;width:100%;padding:36px 30px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.df-modal-seal{width:64px;height:64px;border-radius:50%;border:2.5px solid var(--df-orange,#CF5B18);color:var(--df-orange,#CF5B18);font-size:30px;line-height:59px;margin:0 auto 18px;font-family:var(--df-display,"Archivo",system-ui,sans-serif)}
.df-modal-card h3{font-family:var(--df-display,"Archivo",system-ui,sans-serif);font-stretch:118%;font-weight:800;font-size:1.45rem;margin:0 0 12px;color:var(--df-ink,#16293C)}
.df-modal-card p{color:var(--df-ink-2,#2C4A69);font-size:15px;line-height:1.6;margin:0 0 24px;text-align:left}
#dfc-inline-error{margin:0 0 18px}
#dfc-inline-error[hidden]{display:none}
