/* Contact, in the language of V2 (30.09.2026): near-black with a faint satin and a violet aura behind the card,
   a two-tone title that lights up from left to right (presentation.js, [data-ink-title]).
   01.10.2026: the „Hai să vorbim” panel is a chat window — a short example conversation plays when it comes into
   view (contact.js), and the composer at the bottom opens WhatsApp with the visitor's own message. */
.contact-section{position:relative;isolation:isolate;overflow:clip;background-color:#08090c;color:#f5f5f7;padding:clamp(96px,11vw,150px) 0 clamp(80px,9vw,120px)}
/* Faint satin, vignetted, like the Neon dark windows; and the violet aura behind the card. */
.contact-section:before{content:'';position:absolute;inset:0;z-index:-2;background:url(assets/site-uri/fundal-satin.webp) 60% 40%/cover no-repeat;opacity:.1;-webkit-mask-image:radial-gradient(70% 60% at 65% 45%,#000 10%,transparent 72%);mask-image:radial-gradient(70% 60% at 65% 45%,#000 10%,transparent 72%);pointer-events:none}
.contact-section:after{content:'';position:absolute;z-index:-1;left:40%;right:-10%;top:0;height:78%;background:radial-gradient(ellipse closest-side at 55% 50%,#7045ff38 0%,#7045ff12 60%,#7045ff00 100%);pointer-events:none}
.contact-inner{width:calc(100% - 2 * var(--skroll-content-gutter,40px));max-width:var(--skroll-content-max,1200px);margin:auto}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(40px,6vw,96px)}

.contact-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 18px;font-size:10px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:#9aa2b5}
.contact-eyebrow:before{content:'';width:5px;height:5px;border-radius:50%;background:#b6a0ff;box-shadow:0 0 14px #8254ff}
.contact-title{margin:0;font-size:clamp(40px,5vw,72px);font-weight:500;line-height:1.05;letter-spacing:-.055em;color:#fff}
.contact-title span{color:#858894}
/* Left-to-right light, the same as the „Prima impresie” title (driven by presentation.js). */
[data-ink-title] .presentation-title-ink{color:transparent;-webkit-text-fill-color:transparent;background-image:linear-gradient(90deg,var(--ink-final) 0%,var(--ink-final) 45%,#3c3e47 55%,#3c3e47 100%);background-size:230% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.contact-lead{max-width:440px;margin:26px 0 0;font-size:15px;line-height:1.75;color:#9195a1}

/* ---------- The panel: a Neon dark chat window ---------- */
.contact-card{position:relative;display:flex;flex-direction:column;border-radius:24px;background-color:#121117;background-image:linear-gradient(180deg,#17161ded,#0e0e12f2);box-shadow:inset 0 1px 0 #ffffff17,inset 0 0 0 1px #ffffff0e,0 30px 80px #000000a6,0 0 90px -30px #7045ff73}
/* A soft violet-to-blue line on the top edge and, now and then, a brighter head running along it. */
.contact-card:before{content:'';position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,transparent,#b6a0ff 30%,#6fa2ff 70%,transparent);opacity:.45;pointer-events:none}
.contact-card:after{content:'';position:absolute;left:24px;top:-1px;width:90px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,#d9d0ff 80%,#fff);box-shadow:6px 0 14px #a88bff;opacity:0;pointer-events:none;animation:contact-glint 9s cubic-bezier(.3,.05,.3,1) 1.5s infinite}
@keyframes contact-glint{0%{opacity:0;left:24px}3%{opacity:1}24%{opacity:1}28%{opacity:0;left:calc(100% - 114px)}100%{opacity:0;left:calc(100% - 114px)}}

.chat-head{display:flex;align-items:center;gap:14px;padding:20px clamp(18px,2.4vw,26px);border-bottom:1px solid #ffffff0f}
/* 04.10.2026 — the Skroll violet (was the V1 indigo #4f46e5); the deeper end of it, so the white S stays clear. */
.chat-avatar{position:relative;flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#8254ff,#7045ff);box-shadow:0 8px 24px -8px #8254ffcc}
.chat-avatar svg{width:22px;height:22px}
.chat-online{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border-radius:50%;background:#35d07f;border:2px solid #121117;box-shadow:0 0 10px #35d07f99}
.chat-who{display:flex;flex-direction:column;min-width:0;gap:2px}
.chat-title{margin:0;font-size:clamp(19px,1.8vw,22px);font-weight:600;letter-spacing:-.03em;line-height:1.2;color:#fff}
.chat-status{font-size:12.5px;color:#9aa2b5}
.chat-call{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex:none;height:40px;padding:0 16px 0 13px;border-radius:999px;background:#b6a0ff;color:#140d24;font-size:13.5px;font-weight:600;text-decoration:none;box-shadow:0 10px 28px -10px #8254ffb3;transition:filter .3s,transform .25s}
.chat-call svg{width:16px;height:16px}
/* 04.10.2026 — hover effects only where there is a mouse: after a tap, iOS keeps :hover, and the paper plane stayed up. */
@media(hover:hover){.chat-call:hover{filter:brightness(1.07)}}.chat-call:active{transform:scale(.97)}
.chat-call:focus-visible,.chat-compose button:focus-visible,.chat-note a:focus-visible{outline:2px solid #cdbfff;outline-offset:3px}

.chat-thread{display:flex;flex-direction:column;gap:10px;margin:0;padding:18px clamp(18px,2.4vw,26px) 20px;list-style:none}
.chat-sep{align-self:center;margin-bottom:4px;padding:5px 11px;border-radius:999px;background:#ffffff0a;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7f7b8c}
.chat-msg{position:relative;display:flex}
.chat-msg.is-me{justify-content:flex-end}
.chat-bubble{max-width:84%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.5;transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}
.is-them .chat-bubble{border:1px solid #ffffff12;border-top-left-radius:6px;background:#ffffff0b;color:#e6e4ee}
.is-me .chat-bubble{border-top-right-radius:6px;background:linear-gradient(135deg,#c2b0ff,#a28cff);color:#140d24;box-shadow:0 10px 26px -14px #8254ffcc}
/* Read receipts on the visitor's messages: grey when sent, violet once „Skroll” starts typing. */
.chat-ticks{display:inline-block;margin-left:7px;font-size:11px;letter-spacing:-.18em;color:#140d2459;transition:color .4s}
.chat-msg[data-read] .chat-ticks{color:#3d2aa8}
/* The typing indicator sits where the next answer will appear, so the card never changes height. */
.chat-typing{position:absolute;left:0;top:0;display:flex;gap:4px;padding:12px 14px;border:1px solid #ffffff12;border-radius:18px;border-top-left-radius:6px;background:#ffffff0b;opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s;pointer-events:none}
/* 03.10.2026 — the dots exist only while „Skroll” is typing: hidden (not just transparent) and not animating the rest of
   the time. Before, they bounced forever under opacity:0, and coming back to the chat a browser could draw them for an
   instant over the finished conversation. */
.chat-typing i{width:6px;height:6px;border-radius:50%;background:#b6a0ff}
.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}
@keyframes chat-dot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.chat-thread.is-armed .chat-bubble{opacity:0;transform:translateY(8px)}
.chat-thread.is-armed .chat-msg.is-shown .chat-bubble{opacity:1;transform:none}
.chat-thread.is-armed .chat-msg.is-typing .chat-typing{opacity:1;visibility:visible;transition:opacity .25s}
.chat-thread.is-armed .chat-msg.is-typing .chat-typing i{animation:chat-dot 1.1s ease-in-out infinite}

.chat-compose{display:flex;align-items:center;gap:10px;margin:0 clamp(14px,2vw,20px);padding:6px 6px 6px 18px;border:1px solid #ffffff1a;border-radius:18px;background:#0000004d;transition:border-color .3s,box-shadow .3s}
.chat-compose:focus-within{border-color:#b6a0ff80;box-shadow:0 0 0 4px #b6a0ff14}
.chat-compose input{flex:1 1 auto;min-width:0;height:44px;border:0;background:none;outline:none;font:inherit;font-size:15px;color:#f5f5f7}
.chat-compose input::placeholder{color:#77737f;opacity:1}
.chat-compose button{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:13px;background:#25d366;color:#062b16;cursor:pointer;box-shadow:0 10px 26px -12px #25d366b3;transition:filter .3s,transform .25s}
.chat-compose button svg{width:20px;height:20px;transition:transform .35s cubic-bezier(.22,1,.36,1)}
@media(hover:hover){.chat-compose button:hover{filter:brightness(1.06)}.chat-compose button:hover svg{transform:translate(2px,-2px)}}
.chat-compose button:active{transform:scale(.95)}
.chat-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:12px clamp(18px,2.4vw,26px) 20px;font-size:12px;color:#7f7b8c}
.chat-note a{color:#cdbfff;text-decoration:none;border-bottom:1px solid #b6a0ff4d;transition:color .3s,border-color .3s}
.chat-note a:hover{color:#fff;border-color:#b6a0ff}
.chat-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}.contact-section:after{left:0;right:0;top:30%;height:60%}}
@media(max-width:700px){
  .contact-inner{width:calc(100% - 48px)}
  .contact-eyebrow{font-size:11px;letter-spacing:.14em}
  .contact-title{font-size:clamp(37px,10.2vw,56px)}
  .chat-head{gap:12px;padding:16px}
  .chat-call span{display:none}.chat-call{width:40px;padding:0;justify-content:center}
  .chat-thread{padding:16px}
  .chat-bubble{max-width:90%;font-size:13.5px}
  .chat-compose{margin:0 12px}
  .chat-compose input{font-size:16px} /* 16px: iOS does not zoom the page on focus */
  .chat-note{margin:12px 16px 18px}
}

