/* ==========================================================
   Channel Experience — "same journey, every channel"
   Self-contained bespoke component (cx.css + cx.js)
   Used on landing #channels and pages/channels.html
   ========================================================== */
.cx{margin-top:50px;display:grid;grid-template-columns:288px 1fr;gap:26px;align-items:stretch}
.cx-rail{display:flex;flex-direction:column;gap:9px}
.cx-tab{display:flex;align-items:center;gap:13px;padding:14px 15px;border-radius:14px;border:1px solid var(--border);background:#fff;cursor:pointer;text-align:left;font-family:inherit;transition:border-color var(--dur-base),box-shadow var(--dur-base),transform var(--dur-fast)}
.cx-tab:hover{border-color:var(--border-strong)}
.cx-tab.on{border-color:transparent;box-shadow:0 0 0 2px var(--cx,#1FA855),var(--shadow-sm)}
.cx-tab .cx-ic{width:38px;height:38px;border-radius:10px;flex:none;display:grid;place-items:center;color:#fff;background:var(--cx);transition:transform var(--dur-base) var(--ease-spring)}
.cx-tab.on .cx-ic{transform:scale(1.06)}
.cx-tab .cx-ic svg{width:19px;height:19px}
.cx-tab .cx-tx b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--fg);line-height:1.2}
.cx-tab .cx-tx small{display:block;font-size:12px;color:var(--fg-subtle);margin-top:3px}
.cx-tab .cx-go{margin-left:auto;color:var(--cx);opacity:0;transform:translateX(-4px);transition:opacity var(--dur-base),transform var(--dur-base)}
.cx-tab.on .cx-go{opacity:1;transform:none}
.cx-note{margin-top:6px;padding:14px 15px;border:1px dashed var(--border-strong);border-radius:13px;display:flex;gap:10px;font-size:12.5px;line-height:1.5;color:var(--fg-subtle);background:var(--bg-subtle)}
.cx-note .gi{color:var(--accent-strong);flex:none;margin-top:1px}
.cx-note b{color:var(--fg)}

/* stage */
.cx-stage{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-lg);min-height:430px;background:#0b1f17}
.cx-screen{position:absolute;inset:0;animation:cxFade .5s var(--ease-out)}
@keyframes cxFade{from{opacity:0}to{opacity:1}}
.cx-bar{height:42px;display:flex;align-items:center;gap:9px;padding:0 16px;color:#fff;font-size:13px;font-weight:700}
.cx-bar .av{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:11px;font-weight:700}
.cx-bar .meta small{display:block;font-size:10.5px;font-weight:500;opacity:.85;margin-top:1px}
.cx-bar .spacer{flex:1}
.cx-bar .gi svg{width:16px;height:16px;opacity:.9}

/* WHATSAPP */
.cx-wa{background:#EFEAE2}
.cx-wa .cx-bar{background:#075E54}
.cx-wa-body{padding:18px 16px;display:flex;flex-direction:column;gap:9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Ccircle cx='6' cy='6' r='1.2' fill='%23d8cfc2'/%3E%3C/svg%3E")}
.cx-b{max-width:80%;font-size:13px;line-height:1.45;padding:9px 12px;border-radius:9px;box-shadow:0 1px .5px rgba(0,0,0,.13);position:relative}
.cx-b.inb{align-self:flex-start;background:#fff;color:#111b21;border-top-left-radius:2px}
.cx-b.outb{align-self:flex-end;background:#D9FDD3;color:#0b3b26;border-top-right-radius:2px}
.cx-b .tm{display:block;text-align:right;font-size:9.5px;color:rgba(0,0,0,.42);margin-top:3px;font-family:var(--font-mono)}
.cx-b .cta{display:block;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08);color:#027eb5;font-weight:700;text-align:center;font-size:12.5px}
.cx-sys{align-self:center;background:#fff6cf;color:#7a6a1f;font-size:10.5px;font-weight:600;padding:4px 11px;border-radius:7px;box-shadow:0 1px .5px rgba(0,0,0,.1)}

/* EMAIL */
.cx-em{background:#fff}
.cx-em .cx-bar{background:#1F2524}
.cx-em-sub{padding:16px 20px 12px;border-bottom:1px solid var(--border)}
.cx-em-sub h5{font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;color:var(--fg)}
.cx-em-from{display:flex;align-items:center;gap:10px}
.cx-em-from .ef-av{width:34px;height:34px;border-radius:50%;background:var(--accent-subtle);color:var(--accent-press);display:grid;place-items:center;font-weight:700;font-size:13px}
.cx-em-from b{font-size:13px;font-weight:700;color:var(--fg)}
.cx-em-from span{font-size:11.5px;color:var(--fg-subtle);font-family:var(--font-mono)}
.cx-em-body{padding:20px;color:var(--fg-muted);font-size:13.5px;line-height:1.6}
.cx-em-body p{margin:0 0 14px}
.cx-em-body .em-btn{display:inline-block;background:var(--accent-strong);color:#fff;font-weight:700;font-size:13.5px;padding:11px 22px;border-radius:9px}
.cx-em-body .em-card{margin-top:18px;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.cx-em-body .em-card .ec-img{height:96px;background:linear-gradient(135deg,var(--teal-200),var(--teal-400));display:grid;place-items:center;color:var(--accent-fg)}
.cx-em-body .em-card .ec-tx{padding:12px 14px;font-size:12.5px;color:var(--fg)}

/* WEB CHAT */
.cx-web{background:linear-gradient(160deg,#f1f5f9,#e2e8f0)}
.cx-web .cx-bar{background:rgba(15,23,42,.86);backdrop-filter:blur(6px)}
.cx-web-page{position:absolute;inset:42px 0 0;padding:26px 26px 0;overflow:hidden}
.cx-web-page .wp-h{height:13px;width:46%;border-radius:7px;background:#cbd5e1;margin-bottom:11px}
.cx-web-page .wp-l{height:9px;border-radius:5px;background:#dbe3ec;margin-bottom:8px}
.cx-web-page .wp-l.s{width:78%}.cx-web-page .wp-l.m{width:90%}
.cx-web-page .wp-row{display:flex;gap:12px;margin-top:18px}
.cx-web-page .wp-card{flex:1;height:74px;border-radius:11px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.07)}
.cx-widget{position:absolute;right:18px;bottom:18px;width:248px;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.26);animation:cxWidget .5s var(--ease-spring) both}
@keyframes cxWidget{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.cx-widget .ww-top{background:var(--accent-strong);color:#fff;padding:11px 14px;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:8px}
.cx-widget .ww-top .wd{width:7px;height:7px;border-radius:50%;background:#7CF0C7}
.cx-widget .ww-body{padding:13px;display:flex;flex-direction:column;gap:8px;background:#f7faf9}
.cx-widget .wb{max-width:88%;font-size:12px;line-height:1.4;padding:8px 11px;border-radius:11px}
.cx-widget .wb.inb{align-self:flex-start;background:#fff;border:1px solid var(--border);color:var(--fg);border-bottom-left-radius:3px}
.cx-widget .wb.outb{align-self:flex-end;background:var(--accent-subtle);color:var(--accent-fg);border-bottom-right-radius:3px}
.cx-widget .ww-in{display:flex;align-items:center;gap:8px;padding:9px 12px;border-top:1px solid var(--border);background:#fff;font-size:11.5px;color:var(--fg-subtle)}
.cx-widget .ww-in .gi{margin-left:auto;color:var(--accent-strong)}
.cx-bubble{position:absolute;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--accent-strong);display:none}

/* VOICE */
.cx-vo{background:radial-gradient(120% 90% at 50% 0%,#0f3d31,#0a221b)}
.cx-vo .cx-bar{background:transparent;color:#fff}
.cx-vo-main{position:absolute;inset:42px 0 0;display:flex;flex-direction:column;align-items:center;padding:22px 24px;color:#fff}
.cx-vo .vo-av{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:24px;font-weight:800;font-family:var(--font-display);border:2px solid rgba(124,240,199,.5)}
.cx-vo .vo-name{font-size:16px;font-weight:700;margin-top:12px}
.cx-vo .vo-status{font:600 11.5px/1 var(--font-mono);color:#7CF0C7;margin-top:5px;display:flex;align-items:center;gap:7px}
.cx-vo .vo-status .gi svg{width:13px;height:13px}
.cx-wave{display:flex;align-items:center;gap:4px;height:40px;margin:18px 0}
.cx-wave i{width:4px;border-radius:2px;background:#7CF0C7;animation:cxWave 1s ease-in-out infinite}
@keyframes cxWave{0%,100%{height:8px;opacity:.55}50%{height:34px;opacity:1}}
.cx-vo .vo-latency{font:600 11px/1 var(--font-mono);color:rgba(255,255,255,.7);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 12px}
.cx-vo-trans{width:100%;margin-top:auto;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:8px}
.cx-vo-trans .vt-line{font-size:12.5px;line-height:1.4;display:flex;gap:8px}
.cx-vo-trans .vt-line .who{font:700 10px/1.5 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex:none;width:34px}
.cx-vo-trans .vt-line.ai .who{color:#7CF0C7}
.cx-vo-trans .vt-line.cust .who{color:rgba(255,255,255,.55)}
.cx-vo-trans .vt-line p{margin:0;color:rgba(255,255,255,.92)}

@media (max-width:900px){
  .cx{grid-template-columns:1fr;gap:16px}
  .cx-rail{flex-direction:row;overflow-x:auto;gap:9px;padding-bottom:4px}
  .cx-tab{flex:1 0 auto;min-width:188px}
  .cx-note{display:none}
  .cx-stage{min-height:400px}
}
@media (prefers-reduced-motion:reduce){
  .cx-screen,.cx-widget{animation:none}
  .cx-wave i{animation:none;height:20px}
}
