/* ===== Contact section finishing touches ===== */
#contact { position:relative; overflow:hidden; }
#contact::before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; top:-180px; inset-inline-start:-200px; background:radial-gradient(circle, color-mix(in srgb, var(--olive) 14%, transparent), transparent 70%); pointer-events:none; }
#contact::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; bottom:-160px; inset-inline-end:-160px; background:radial-gradient(circle, color-mix(in srgb, var(--olive) 10%, transparent), transparent 70%); pointer-events:none; }
#contact .container { position:relative; z-index:1; }

#contact .contact-info { background:linear-gradient(160deg, var(--olive), color-mix(in srgb, var(--olive) 55%, #0b1320)) !important; color:#fff !important; border-radius:24px !important; padding:32px 28px !important; box-shadow:0 22px 50px color-mix(in srgb, var(--olive) 30%, transparent) !important; border:none !important; display:flex; flex-direction:column; gap:12px; }
#contact .ci-head { display:flex; gap:14px; align-items:center; padding-bottom:18px; margin-bottom:6px; border-bottom:1px solid rgba(255,255,255,.18); }
#contact .ci-badge { width:52px; height:52px; flex:none; border-radius:16px; display:grid; place-items:center; font-size:1.4rem; background:rgba(255,255,255,.16); }
#contact .ci-head b { display:block; font-size:1.2rem; }
#contact .ci-head small { display:block; opacity:.8; font-size:.9rem; margin-top:2px; }
#contact .contact-info .info-item { background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.12) !important; border-radius:16px !important; color:#fff !important; padding:14px 16px !important; transition:background .3s, transform .3s; }
#contact .contact-info .info-item:hover { background:rgba(255,255,255,.16) !important; transform:translateX(-4px); }
.is-en #contact .contact-info .info-item:hover { transform:translateX(4px); }
#contact .contact-info .info-item > i { background:#fff !important; color:var(--olive) !important; }
#contact .contact-info .info-item small { color:rgba(255,255,255,.75) !important; }
#contact .contact-info .info-item span { color:#fff !important; font-weight:600; }
#contact .ci-note { margin-top:auto; padding-top:14px; font-size:.88rem; opacity:.85; display:flex; gap:8px; align-items:center; }

#contact .contact-form { border-radius:24px !important; padding:32px 30px !important; box-shadow:0 18px 44px rgba(20,30,45,.08) !important; position:relative; }
#contact .contact-form::before { content:""; position:absolute; top:0; inset-inline:30px; height:4px; border-radius:0 0 4px 4px; background:var(--olive); }
#contact .cf-head { margin-bottom:20px; }
#contact .cf-head h3 { font-size:1.35rem; margin:0 0 4px; display:flex; gap:10px; align-items:center; }
#contact .cf-head h3 i { color:var(--olive); }
#contact .cf-head p { margin:0; color:var(--muted, #7a8699); font-size:.95rem; }
#contact .contact-form button[type=submit] { padding:15px 20px; font-size:1.05rem; border-radius:14px; box-shadow:0 10px 24px color-mix(in srgb, var(--olive) 35%, transparent); }
#contact .contact-form button[type=submit] i { transition:transform .3s; }
#contact .contact-form button[type=submit]:hover i { transform:translate(-4px,-3px) rotate(-10deg); }

@media (max-width:600px) {
    #contact .contact-info, #contact .contact-form { padding:24px 20px !important; }
}
