/* ================================================================
   CONTACT PAGE (page-contact.php): the scripted chat card in the same look as the members chat room (assets/pages/chat.css).
   Law: buttons 44px+, one line.
   ================================================================ */
.ct-page{background:transparent}
.ct-body{padding:56px 16px 112px}
@media (max-width:520px){.ct-body{padding:24px 12px 88px}}
.ct-body__grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:860px){.ct-body__grid{grid-template-columns:minmax(0,1fr)}}

/* chat card */
.ct-chat-card{display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:20px;background:#fff;box-shadow:0 18px 44px rgba(27,26,99,.18);padding:0}
.ct-chat{display:flex;flex-direction:column;min-height:560px}
.ct-chat__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:linear-gradient(135deg,#1b1a63 0%,#313de0 58%,#6b2fa0 100%);color:#fff}
.ct-chat__head h2{margin:0;color:#fff;font:800 18px/1.2 var(--dp-sans);text-transform:none;letter-spacing:0}
.ct-chat__pill{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font:700 13px/1 var(--dp-sans);white-space:nowrap}
.ct-chat__messages{flex:1;display:flex;flex-direction:column;gap:10px;min-height:340px;max-height:58vh;overflow-y:auto;padding:20px;background:#f6f4fd;scroll-behavior:smooth}
.ct-chat__row{display:flex;animation:ctChatIn .25s ease}
@keyframes ctChatIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ct-chat__row--bot{justify-content:flex-start}
.ct-chat__row--user{justify-content:flex-end}
.ct-chat__bubble{max-width:82%;padding:12px 16px;border-radius:18px;font:500 15px/1.5 var(--dp-sans);overflow-wrap:anywhere}
.ct-chat__bubble--bot{background:#fff;border:1px solid #e4e0f4;color:#1b1c2e;border-bottom-left-radius:6px}
.ct-chat__bubble--user{background:linear-gradient(135deg,#1b1a63,#313de0 60%,#6b2fa0);color:#fff;border-bottom-right-radius:6px}

/* input bar */
.ct-chat__input-row{display:flex;align-items:center;gap:8px;margin:14px 18px 18px;min-height:56px;padding:6px 8px 6px 18px;border:1.5px solid #d9d4f0;border-radius:999px;background:#fff;transition:border-color .2s,box-shadow .2s}
.ct-chat__input-row:focus-within{border-color:#313de0;box-shadow:0 0 0 3px rgba(49,61,224,.14)}
.ct-chat__input{flex:1;min-width:0;height:44px;padding:0;border:0;background:transparent;color:#1b1c2e;font:500 16px/1 var(--dp-sans);outline:0}
.ct-chat__input::placeholder{color:#9a9fb2}
.ct-chat__send{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:linear-gradient(135deg,#1b1a63,#313de0 60%,#6b2fa0);color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:transform .15s}
.ct-chat__send:hover{transform:scale(1.06)}
.ct-chat__choices{flex-wrap:wrap;gap:8px;padding:14px 18px 18px;border-top:1px solid #e4e0f4;background:#fff}
.ct-chat__choice{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid #d9d4f0;border-radius:999px;background:#fff;color:#1b1c2e;font:800 14px/1 var(--dp-sans);white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s}
.ct-chat__choice:hover{border-color:#313de0;background:rgba(49,61,224,.06)}
.ct-chat__followup{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
.ct-chat__followup-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1.5px solid #d9d4f0;border-radius:999px;background:#fff;color:#1b1c2e;font:800 14px/1 var(--dp-sans);white-space:nowrap;text-decoration:none;cursor:pointer}
.ct-chat__followup-btn:hover{border-color:#313de0}
.ct-chat__followup-btn--primary{border-color:transparent;background:linear-gradient(135deg,#1b1a63,#313de0 60%,#6b2fa0);color:#fff}

/* side cards */
.ct-side{display:flex;flex-direction:column;gap:20px}
.ct-side__block{padding:24px;border:0;border-radius:20px;background:#fff;box-shadow:0 18px 44px rgba(27,26,99,.12)}
.ct-side__block h3{margin:0 0 8px;color:#1b1c2e;font:800 16px/1.2 var(--dp-sans);text-transform:none;letter-spacing:0}
.ct-side__block p{margin:0;color:#4a5160;font:500 15px/1.6 var(--dp-sans)}
.ct-side__block a{color:#313de0;font-weight:800;text-decoration:none}
.ct-side__block a:hover{text-decoration:underline}
.ct-side__quote{background:linear-gradient(135deg,#1b1a63 0%,#313de0 58%,#6b2fa0 100%)}
.ct-side__quote p{color:rgba(255,255,255,.92);font-style:italic}
.ct-side__quote span{display:block;margin-top:14px;color:rgba(255,255,255,.7);font:800 12px/1 var(--dp-sans);letter-spacing:.1em;text-transform:uppercase}
