/* Save Our Family Farms — "Call your senator" section + feedback form.
   Cream section with a navy switchboard banner for prominence. */

.call{background:var(--color-surface);padding:84px 0;border-top:1px solid var(--color-border);}
.call .head{max-width:64ch;margin-bottom:32px;}
.call .head .lead{margin:18px 0 0;}

/* switchboard banner */
.switchboard{background:var(--color-surface-inverse);border-radius:var(--card-radius);padding:28px 32px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;color:var(--color-text-on-inverse);}
.switchboard .sb-ico{width:54px;height:54px;border-radius:12px;background:rgba(244,239,230,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.switchboard .sb-copy{display:flex;flex-direction:column;gap:3px;}
.switchboard .sb-lbl{font-family:var(--font-display);font-weight:700;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#8ea3b8;}
.switchboard .sb-num{font-family:var(--font-display);font-weight:800;font-size:2.3rem;line-height:1;color:#fff;letter-spacing:.01em;text-decoration:none;}
.switchboard .sb-num:hover{color:#fff;}
.switchboard .sb-hint{font-size:.86rem;color:var(--navy-100);line-height:1.45;max-width:34ch;}
.switchboard .sb-call{margin-left:auto;}
.switchboard .sb-call .btn{background:var(--color-accent);color:#fff;}
.switchboard .sb-call .btn:hover{background:var(--color-accent-hover);}

/* state selector row */
.call-state{display:flex;align-items:center;gap:14px;margin:26px 0 22px;flex-wrap:wrap;}
.call-state label{font-family:var(--font-display);font-weight:700;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand);}
.call-state select{font:inherit;font-size:.95rem;padding:11px 13px;border:1px solid var(--input-border);border-radius:6px;background:#fff;color:var(--color-text);min-width:230px;}
.call-state select:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(156,58,42,.26);}

/* two-column grid */
.call-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start;}

/* cards (paper + roofline cap) */
.call-card{background:none;}
.call-card .roof-top{line-height:0;overflow:hidden;}
.call-card .cc-body{background:var(--card-bg);border:1px solid var(--card-border);border-top:0;border-radius:0 0 var(--card-radius) var(--card-radius);padding:26px 28px 28px;}
.call-card h3{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.2rem;color:var(--color-brand);margin:0 0 4px;letter-spacing:.02em;}
.call-card .sub{font-size:.9rem;color:var(--color-text-muted);margin:0 0 18px;line-height:1.45;}

/* senator chips */
.sen-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;}
.sen-chip{display:flex;align-items:center;gap:9px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:6px 14px 6px 6px;}
.sen-chip .av{width:30px;height:30px;border-radius:50%;background:var(--color-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:.68rem;}
.sen-chip .nm{font-family:var(--font-display);font-weight:700;font-size:.82rem;color:var(--color-brand);letter-spacing:.01em;}

/* talking points list */
.tp-list{list-style:none;margin:0;padding:0;counter-reset:tp;display:flex;flex-direction:column;gap:14px;}
.tp-list li{display:flex;gap:13px;align-items:flex-start;counter-increment:tp;font-size:1rem;line-height:1.5;color:#33302a;}
.tp-list li::before{content:counter(tp);flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--color-accent);color:#fff;font-family:var(--font-display);font-weight:800;font-size:.78rem;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.tp-tip{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--color-border);font-size:.86rem;line-height:1.5;color:var(--color-text-muted);}
.tp-tip b{color:var(--color-accent);font-weight:700;}
.tp-empty{font-size:1rem;line-height:1.6;color:var(--color-text-muted);margin:0;}

/* feedback form */
.fb-field{margin-bottom:15px;display:flex;flex-direction:column;}
.fb-field label{font-family:var(--font-display);font-weight:700;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand);margin:0 0 7px;}
.fb-field input[type=text],.fb-field textarea{font:inherit;font-size:.95rem;width:100%;padding:11px 13px;border:1px solid var(--input-border);border-radius:6px;background:#fff;color:var(--color-text);}
.fb-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.fb-row .fb-field{margin-bottom:15px;}
.fb-field textarea{resize:vertical;min-height:130px;line-height:1.55;}
.fb-field input:focus-visible,.fb-field textarea:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(156,58,42,.26);}
.fb-outcomes{display:flex;flex-direction:column;gap:9px;}
.fb-opt{display:flex;gap:10px;align-items:center;font-size:.92rem;color:var(--color-text);cursor:pointer;}
.fb-opt input{width:17px;height:17px;accent-color:var(--color-accent);}
.fb-count{display:flex;justify-content:space-between;align-items:baseline;margin-top:7px;}
.fb-count .lbl{font-size:.78rem;color:var(--color-text-muted);}
.fb-count .num{font-family:var(--font-display);font-weight:700;font-size:.78rem;color:var(--color-text-muted);letter-spacing:.04em;}
.fb-count .num.near{color:var(--color-accent);}
.fb-submit{width:100%;justify-content:center;margin-top:6px;}
.fb-note{font-size:.78rem;color:var(--color-text-muted);margin:12px 0 0;line-height:1.45;text-align:center;}
.fb-note b{color:var(--color-brand);font-weight:700;}

/* feedback sent */
.fb-sent{text-align:center;padding:14px 6px 6px;display:flex;flex-direction:column;align-items:center;}
.fb-sent .check{width:54px;height:54px;border-radius:50%;background:var(--green-600);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.fb-sent h4{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.2rem;color:var(--color-brand);margin:0 0 8px;}
.fb-sent p{font-size:.95rem;line-height:1.55;color:#33302a;margin:0 0 6px;max-width:40ch;}
.fb-sent .again{margin-top:14px;background:none;border:0;color:var(--link-color);font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;text-decoration:underline;}

@media (max-width:880px){
  .call-grid{grid-template-columns:1fr;}
  .switchboard{gap:18px;}
  .switchboard .sb-call{margin-left:0;width:100%;}
  .switchboard .sb-call .btn{width:100%;justify-content:center;}
}
