/* ==========================================================================
   The Cover Network — AI chat widget + communication CTAs
   GENERATED by tcn-chat-widget 0.1.0 from sites/tcn/ on 2026-09-08. Do not hand-edit on the server.
   Brand tokens are the only thing that should differ between sites.
   ========================================================================== */
:root{
  --tcn-accent:#00ADEE;
  --tcn-accent-hover:#0070BA;
  --tcn-on-accent:#FFFFFF;
  --tcn-dark:#001224;
  --tcn-dark-2:#19153D;
  --tcn-paper:#FFFFFF;
  --tcn-soft:#F5F5F5;
  --tcn-ink:#383838;
  --tcn-muted:#666666;
  --tcn-line:#EFEFEF;
  --tcn-heading:'Poppins', Helvetica, Arial, sans-serif;
  --tcn-sans:'Poppins', Helvetica, Arial, sans-serif;
  --tcn-accent-40:rgba(0,173,238,0.4);
}

/* visible keyboard focus on our own controls */
.tcn-cta button:focus-visible,.tcn-cta a:focus-visible,
.tcn-chat button:focus-visible,.tcn-chat input:focus-visible,
.tcn-talk-inline button:focus-visible,.tcn-talk-inline a:focus-visible{
  outline:3px solid var(--tcn-accent-hover);outline-offset:2px;border-radius:2px;
}
@media (prefers-reduced-motion: reduce){
  .tcn-cta *,.tcn-chat,.tcn-chat *,.tcn-talk-inline *{transition-duration:.001ms !important;animation-duration:.001ms !important;}
}

@media (max-width:767px){.tcn-cta{display:none !important;}}

/* =========================================================================
   FLOATING CTA — bottom-right, expands to Call / Message
   ========================================================================= */
.tcn-cta{position:fixed;right:clamp(16px,4vw,28px);bottom:clamp(72px,10vw,92px);z-index:1200;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-family:var(--tcn-sans);}

.tcn-cta-fab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;
  background:var(--tcn-accent);color:var(--tcn-on-accent);border:1px solid var(--tcn-accent);border-radius:999px;
  font-family:var(--tcn-sans);font-size:13px;font-weight:600;letter-spacing:.03em;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.24);
  transition:background .2s,border-color .2s,transform .2s;}
.tcn-cta-fab:hover{background:var(--tcn-accent-hover);border-color:var(--tcn-accent-hover);color:var(--tcn-on-accent);}
.tcn-cta-fab:active{transform:scale(.97);}
.tcn-cta-fab svg{width:16px;height:16px;flex:none;}
.tcn-cta-fab .tcn-cta-fab-close{display:none;}
.tcn-cta.is-open .tcn-cta-fab .tcn-cta-fab-open{display:none;}
.tcn-cta.is-open .tcn-cta-fab .tcn-cta-fab-close{display:inline-flex;}

.tcn-cta-menu{display:flex;flex-direction:column;align-items:flex-end;gap:10px;
  opacity:0;transform:translateY(8px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
.tcn-cta.is-open .tcn-cta-menu{opacity:1;transform:none;pointer-events:auto;}
.tcn-cta-option{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;
  background:var(--tcn-dark);color:#fff;border:1px solid var(--tcn-accent-40);border-radius:999px;
  font-family:var(--tcn-sans);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.2);
  transition:background .2s,border-color .2s;}
.tcn-cta-option:hover{background:var(--tcn-dark-2);border-color:var(--tcn-accent-hover);color:#fff;}
.tcn-cta-option svg{width:16px;height:16px;stroke:var(--tcn-accent-hover);flex:none;}

@media (max-width:480px){
  .tcn-cta{bottom:clamp(64px,16vw,84px);}
  .tcn-cta-fab{min-height:42px;padding:0 16px;font-size:12px;}
  .tcn-cta-option{min-height:38px;padding:0 14px;font-size:12px;}
}

/* =========================================================================
   CHAT PANEL
   ========================================================================= */
.tcn-chat{position:fixed;right:clamp(12px,4vw,28px);bottom:clamp(128px,20vw,160px);z-index:1250;
  width:min(92vw,380px);height:min(70vh,560px);background:var(--tcn-paper);border-radius:12px;
  box-shadow:0 24px 64px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden;font-family:var(--tcn-sans);
  opacity:0;transform:translateY(16px) scale(.98);pointer-events:none;transition:opacity .2s ease,transform .2s ease;}
.tcn-chat.is-open{opacity:1;transform:none;pointer-events:auto;}
.tcn-chat-head{background:var(--tcn-dark);color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;flex:none;}
.tcn-chat-head-title{font-family:var(--tcn-heading);font-size:18px;font-weight:700;line-height:1.1;margin:0;color:#fff;}
.tcn-chat-head-sub{margin:3px 0 0;font-size:11.5px;color:var(--tcn-accent-hover);text-transform:uppercase;letter-spacing:.08em;}
.tcn-chat-close{width:36px;height:36px;flex:none;background:transparent;border:1px solid rgba(255,255,255,.28);
  border-radius:6px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.tcn-chat-close svg{width:18px;height:18px;stroke:#fff;}
.tcn-chat-body{flex:1 1 auto;overflow-y:auto;padding:16px 18px;display:flex;flex-direction:column;gap:12px;background:var(--tcn-paper);}
.tcn-chat-msg{max-width:86%;padding:10px 14px;border-radius:10px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;}
.tcn-chat-msg-bot{align-self:flex-start;background:var(--tcn-soft);color:var(--tcn-ink);border-bottom-left-radius:2px;}
.tcn-chat-msg-user{align-self:flex-end;background:var(--tcn-dark);color:#fff;border-bottom-right-radius:2px;}
.tcn-chat-msg-pending{align-self:flex-start;background:var(--tcn-soft);color:var(--tcn-muted);font-style:italic;}
.tcn-chat-form{flex:none;display:flex;gap:8px;padding:12px;border-top:1px solid var(--tcn-line);background:var(--tcn-paper);margin:0;}
.tcn-chat-input{flex:1 1 auto;min-height:44px;padding:0 14px;border:1px solid var(--tcn-line);border-radius:999px;
  font-family:var(--tcn-sans);font-size:14px;color:var(--tcn-ink);background:#fff;}
.tcn-chat-send{flex:none;width:44px;height:44px;border-radius:999px;background:var(--tcn-accent);border:1px solid var(--tcn-accent);
  color:var(--tcn-on-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.tcn-chat-send:hover{background:var(--tcn-accent-hover);border-color:var(--tcn-accent-hover);}
.tcn-chat-send:disabled{opacity:.5;cursor:default;}
.tcn-chat-send svg{width:18px;height:18px;}
.tcn-chat-foot{flex:none;padding:8px 18px 12px;font-size:11px;color:var(--tcn-muted);text-align:center;margin:0;}

@media (max-width:480px){
  .tcn-chat{width:calc(100vw - 24px);height:min(70vh,500px);right:12px;bottom:120px;}
}

/* =========================================================================
   INLINE "communication center" — [tcn_talk] shortcode
   A quiet editorial divider that expands into Call / Message.
   ========================================================================= */
.tcn-talk-inline{max-width:560px;margin:0 auto;padding:clamp(36px,6vw,64px) 20px;text-align:center;font-family:var(--tcn-sans);}
.tcn-talk-inline-trigger{display:inline-flex;align-items:center;gap:18px;background:none;border:none;
  cursor:pointer;padding:6px 4px;font-family:var(--tcn-sans);color:inherit;}
.tcn-talk-inline-line{display:inline-block;width:clamp(28px,6vw,52px);height:1px;background:var(--tcn-accent);
  opacity:.55;transition:width .3s ease,opacity .3s ease;}
.tcn-talk-inline-label{font-family:var(--tcn-heading);font-weight:600;font-size:clamp(16px,2vw,19px);
  letter-spacing:.02em;color:inherit;white-space:nowrap;}
.tcn-talk-inline-trigger:hover .tcn-talk-inline-line,
.tcn-talk-inline.is-open .tcn-talk-inline-line{width:clamp(44px,8vw,76px);opacity:.9;}

.tcn-talk-inline-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1);}
.tcn-talk-inline-panel-inner{overflow:hidden;}
.tcn-talk-inline.is-open .tcn-talk-inline-panel{grid-template-rows:1fr;}
.tcn-talk-inline-prompt{margin:22px 0 16px;font-family:var(--tcn-heading);font-size:clamp(18px,2.4vw,22px);color:inherit;text-wrap:balance;}
.tcn-talk-inline-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding-bottom:4px;}
.tcn-talk-inline-btn{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:0 26px;
  border-radius:999px;font-family:var(--tcn-sans);font-size:13px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.tcn-talk-inline-call{background:transparent;color:inherit;border:1px solid currentColor;opacity:.85;}
.tcn-talk-inline-call:hover{opacity:1;background:currentColor;}
.tcn-talk-inline-call:hover span{color:var(--tcn-paper);}
.tcn-talk-inline-call svg{width:16px;height:16px;flex:none;}
.tcn-talk-inline-msg{background:var(--tcn-accent);color:var(--tcn-on-accent);border:1px solid var(--tcn-accent);}
.tcn-talk-inline-msg:hover{background:var(--tcn-accent-hover);border-color:var(--tcn-accent-hover);}
.tcn-talk-inline-msg svg{width:16px;height:16px;flex:none;}

/* on dark full-bleed bands */
.tcn-talk-inline.is-on-dark{color:#fff;}
.tcn-talk-inline.is-on-dark .tcn-talk-inline-call:hover span{color:var(--tcn-ink);}

@media (max-width:480px){
  .tcn-talk-inline{padding:clamp(28px,8vw,44px) 16px;}
  .tcn-talk-inline-actions{gap:10px;}
  .tcn-talk-inline-btn{min-height:46px;padding:0 20px;font-size:12px;}
}

/* =========================================================================
   CAPTURE PANEL — inline form injected above the chat input when the AI or
   the visitor's own email triggers lead capture. Submits to /wp-json/tcn/v1/lead.
   ========================================================================= */
.tcn-capture{flex:none;padding:12px 14px 4px;border-top:1px solid var(--tcn-line);background:var(--tcn-soft);display:flex;flex-direction:column;gap:8px;}
.tcn-capture.is-open{animation:tcn-capture-in .22s ease;}
@keyframes tcn-capture-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.tcn-capture-lead{margin:0 0 2px;font-size:12.5px;color:var(--tcn-muted);}
.tcn-capture-row{display:flex;}
.tcn-capture-row label{flex:1;display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--tcn-muted);text-transform:uppercase;letter-spacing:.06em;}
.tcn-capture-row input{min-height:36px;padding:0 10px;border:1px solid var(--tcn-line);border-radius:6px;background:#fff;font-family:var(--tcn-sans);font-size:14px;color:var(--tcn-ink);text-transform:none;letter-spacing:0;}
.tcn-capture-row input:focus{outline:2px solid var(--tcn-accent-hover);outline-offset:1px;}
.tcn-capture-hp{position:absolute;left:-9999px;height:0;overflow:hidden;} /* honeypot */
.tcn-capture-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px;}
.tcn-capture-cancel,.tcn-capture-submit{min-height:34px;padding:0 14px;border-radius:999px;font-family:var(--tcn-sans);font-size:12.5px;font-weight:600;letter-spacing:.04em;cursor:pointer;}
.tcn-capture-cancel{background:transparent;color:var(--tcn-muted);border:1px solid var(--tcn-line);}
.tcn-capture-cancel:hover{color:var(--tcn-ink);border-color:var(--tcn-muted);}
.tcn-capture-submit{background:var(--tcn-accent);color:var(--tcn-on-accent);border:1px solid var(--tcn-accent);}
.tcn-capture-submit:hover{background:var(--tcn-accent-hover);border-color:var(--tcn-accent-hover);}
.tcn-capture-submit:disabled{opacity:.5;cursor:default;}
.tcn-capture-status{margin:0;font-size:12px;color:var(--tcn-muted);min-height:1em;}
