/* VideoMedico — pagina Contatti */
.ct-channels>*,.ct-quick>*{min-width:0}

/* ---------- hero: chat di assistenza 3D ---------- */
.ct-hero .panel{align-items:center}
.ct-ctas{display:flex;flex-wrap:wrap;gap:12px}
.ct-stage{position:relative;width:100%;max-width:420px;justify-self:center;perspective:1300px;padding:10px 0 40px}
.ct-chat{position:relative;background:rgba(255,255,255,.97);color:var(--ink);border-radius:26px;box-shadow:0 50px 100px rgba(3,15,30,.45);overflow:hidden;transform:rotateY(-12deg) rotateX(6deg);transform-style:preserve-3d;will-change:transform}
.ct-chat-top{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line)}
.ct-chat-top .av{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff;box-shadow:var(--sh-s);flex:none}
.ct-chat-top .av img{width:26px}
.ct-chat-top b{display:block;font-size:15px}
.ct-chat-top small{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.ct-chat-top small i{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:ping 2s ease-out infinite}
.ct-msgs{height:300px;padding:16px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;overflow:hidden}
.msg{max-width:84%;padding:11px 14px;font-size:14px;line-height:1.45;border-radius:16px;opacity:0;transform:translateY(14px) scale(.96);transition:opacity .4s ease,transform .55s var(--ease-out)}
.msg.in{opacity:1;transform:none}
.msg.out{opacity:0;transform:translateY(-10px);transition:opacity .35s ease,transform .4s ease}
.msg.me{align-self:flex-end;background:var(--b700);color:#fff;border-bottom-right-radius:5px}
.msg.us{align-self:flex-start;background:var(--mist);color:var(--ink);border-bottom-left-radius:5px}
.msg.typing{display:flex;gap:5px;padding:14px 16px}
.msg.typing i{width:7px;height:7px;border-radius:50%;background:var(--b400);animation:ct-dot 1s ease-in-out infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes ct-dot{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}
.ct-input{display:flex;align-items:center;gap:10px;margin:0 14px 14px;padding:8px 8px 8px 16px;border-radius:999px;border:1.5px solid var(--line);font-size:13.5px;color:var(--muted)}
.ct-input i{margin-left:auto;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--b700);color:#fff}
.ct-input svg{width:17px;height:17px}
.ct-badge{left:-14%;bottom:4px}
@media (max-width:860px){.ct-stage{max-width:400px;margin-top:6px}.ct-badge{left:-4%}}
@media (max-width:520px){
  .ct-stage{max-width:100%}
  .ct-msgs{height:260px;padding:12px}
  .msg{font-size:13.5px}
  .ct-badge{left:0;bottom:0}
  .ct-ctas .btn{flex:1 1 100%;white-space:normal}
}

/* ---------- canali ---------- */
.ct-ch-sec{padding-bottom:clamp(60px,8vw,110px)}
.ct-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;perspective:1400px}
.ct-ch{position:relative;display:flex;flex-direction:column;gap:4px;padding:clamp(24px,3vw,34px);border-radius:var(--r-2xl);background:linear-gradient(180deg,#fff,var(--surface));border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:var(--sh-s);transform-style:preserve-3d;transition:box-shadow .4s ease,border-color .3s ease}
.ct-ch .ic{position:relative;width:60px;height:60px;border-radius:19px;display:grid;place-items:center;background:var(--grad);color:#fff;margin-bottom:18px;box-shadow:0 14px 28px rgba(32,80,128,.3);transform:translateZ(30px)}
.ct-ch .ic::after{content:"";position:absolute;inset:-6px;border-radius:24px;border:2px solid var(--b300);opacity:0}
.ct-ch .ic svg{width:28px;height:28px}
.ct-ch small{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--b600)}
.ct-ch b{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere;transform:translateZ(16px)}
.ct-ch .sub{font-size:15.5px;color:var(--ink-soft)}
.ct-ch .go{margin-top:18px;display:inline-flex;align-items:center;gap:8px;min-height:48px;font-weight:600;color:var(--b600)}
.ct-ch .go svg{width:16px;height:16px;transition:transform .25s var(--ease-out)}
.ct-ch.feat{background:var(--panel);color:#fff;border:0}
.ct-ch.feat small{color:#BCD2EA}.ct-ch.feat .sub{color:#D8E6F4}.ct-ch.feat .go{color:#fff}
.ct-ch.feat .ic{background:#fff;color:var(--b700)}
.ct-ch.feat .ic::after{border-color:rgba(255,255,255,.6)}
@media (hover:hover) and (pointer:fine){.ct-ch:hover{box-shadow:var(--sh-l);border-color:transparent}.ct-ch:hover .go svg{transform:translateX(4px)}.ct-ch:hover .ic::after{animation:ring 1.6s var(--ease-out) infinite}}
/* su touch le icone "squillano" a turno */
.ct-ch.ring .ic::after{animation:ring 1.6s var(--ease-out) 2}
@media (max-width:900px){.ct-channels{grid-template-columns:1fr}.ct-ch{display:grid;grid-template-columns:60px 1fr;column-gap:18px;align-items:center}.ct-ch .ic{grid-row:span 4;margin:0;align-self:start}.ct-ch .go{margin-top:6px}}
@media (max-width:420px){.ct-ch{grid-template-columns:48px 1fr;column-gap:14px}.ct-ch .ic{width:48px;height:48px;border-radius:15px}.ct-ch .ic svg{width:22px;height:22px}}

/* ---------- link rapidi ---------- */
.ct-quick{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1060px){.ct-quick{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.ct-quick{grid-template-columns:1fr}}
.contact .alert{margin-top:6px}
