/* ================================================================
   CONTACT WIDGET — the channel contact form (tcn_contact_widget(),
   inc/tcn-channel-sections.php). Tokens only: reads on light or navy.
   ================================================================ */
.cw { max-width: 720px; margin: 0 auto; padding: 2rem; background: var(--panel); color: var(--ink); border: 1px solid var(--line); border-radius: 6px; font-family: var(--dp-sans); }
.cw-kicker { margin: 0 0 6px; font: 800 10px/1 var(--dp-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.cw .cw-title { margin: 0; font-family: var(--dp-display); font-weight: 400; font-size: 30px; line-height: .95; text-transform: uppercase; color: var(--ink); text-shadow: none; }
.cw-sub { margin: 8px 0 1.25rem; color: var(--muted); font-size: 13px; line-height: 1.6; }
.cw-form { display: grid; gap: 14px; }
.cw-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.cw label { display: block; margin-bottom: 6px; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.cw input, .cw select, .cw textarea { width: 100%; padding: .85rem 1rem; border: 1px solid var(--line-strong); border-radius: 3px; background: var(--panel); color: var(--ink); font: 500 .95rem var(--dp-sans); }
.cw textarea { resize: vertical; }
.cw input:focus, .cw select:focus, .cw textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.cw-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.cw-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.cw .cw-btn { padding: .95rem 1.6rem; border: 0; border-radius: 3px; background: var(--ink); color: var(--inverse, #fff); font: 800 .72rem var(--dp-sans); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.cw .cw-btn:disabled { opacity: .6; cursor: progress; }
.cw-fb { margin: 0; font-size: .85rem; font-weight: 600; }
.cw-fb.is-ok { color: var(--accent); }
.cw-fb.is-error { color: var(--red, #b3261e); }
