/* VIRAL contact: isolated from Elementor/theme input and button rules. */
.viral-contact, .viral-contact *{box-sizing:border-box!important}
.viral-contact{--vc:#00ffcc!important;display:block!important;position:relative!important;isolation:isolate!important;width:100%!important;max-width:100%!important;margin:0!important;padding:clamp(24px,3.6vw,48px)!important;background:linear-gradient(120deg,#061b18 0%,#050908 47%,#082e28 100%)!important;border:2px solid #00ffcc!important;border-radius:32px!important;box-shadow:inset 0 0 0 5px rgba(0,0,0,.34),0 0 25px rgba(0,255,204,.13)!important;color:#fff!important;font-family:Poppins,Arial,sans-serif!important;overflow:hidden!important}
.viral-contact .viral-contact__title{display:block!important;color:#fff!important;font-size:clamp(26px,3vw,38px)!important;line-height:1.2!important;font-weight:800!important;margin:0 0 12px!important;padding:0!important}
.viral-contact .viral-contact__intro{display:block!important;color:#c8e2dc!important;font-size:15px!important;line-height:1.6!important;margin:0 0 28px!important;padding:0!important}
.viral-contact form.viral-contact__form{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.viral-contact .viral-contact__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:19px 22px!important;align-items:start!important;width:100%!important}
.viral-contact label.viral-contact__field{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;color:#f5fffd!important;font-size:14px!important;font-weight:600!important;line-height:1.5!important}
.viral-contact label.viral-contact__field>span{display:block!important;color:#f5fffd!important;font-size:14px!important;line-height:1.5!important}.viral-contact label.viral-contact__field b{color:#00ffcc!important}
.viral-contact form.viral-contact__form label.viral-contact__field input,.elementor .viral-contact form.viral-contact__form label.viral-contact__field input{display:block!important;appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;height:56px!important;min-height:56px!important;margin:0!important;padding:14px 17px!important;background:#071b18!important;background-color:#071b18!important;background-image:none!important;border:1px solid rgba(0,255,204,.65)!important;border-radius:13px!important;box-shadow:inset 0 2px 8px rgba(0,0,0,.24)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:inherit!important;font-size:16px!important;font-weight:400!important;line-height:1.4!important;outline:none!important}
.viral-contact form.viral-contact__form label.viral-contact__field input::placeholder{color:#9bb8b0!important;opacity:1!important}.viral-contact form.viral-contact__form label.viral-contact__field input:focus{border-color:#00ffcc!important;box-shadow:0 0 0 3px rgba(0,255,204,.18)!important}
.viral-contact form.viral-contact__form button.viral-contact__button,.elementor .viral-contact form.viral-contact__form button.viral-contact__button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:24px!important;width:auto!important;max-width:100%!important;min-height:66px!important;margin:28px 0 0!important;padding:16px 34px!important;background:#00ffcc!important;background-color:#00ffcc!important;background-image:none!important;border:1px solid #a4fff0!important;border-radius:19px!important;box-shadow:0 9px 30px rgba(0,255,204,.2)!important;color:#031613!important;-webkit-text-fill-color:#031613!important;font-family:inherit!important;font-size:18px!important;font-weight:800!important;line-height:1.35!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer!important}
.viral-contact form.viral-contact__form button.viral-contact__button:hover{transform:translateY(-2px)!important;box-shadow:0 0 30px rgba(0,255,204,.35)!important}.viral-contact form.viral-contact__form button.viral-contact__button:disabled{opacity:.6!important}.viral-contact .viral-contact__button span{color:inherit!important;font-size:25px!important}
.viral-contact .viral-contact__status{display:block!important;margin:14px 0 0!important;color:#dffff8!important;font-size:14px!important}.viral-contact .viral-contact__status[data-error="1"]{color:#ffb4aa!important}
.viral-contact form.viral-contact__form .viral-contact__trap{position:absolute!important;left:-99999px!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.viral-contact form.viral-contact__form .viral-contact__trap input{width:1px!important;height:1px!important}
@media(max-width:767px){.viral-contact{padding:26px 19px!important;border-radius:25px!important}.viral-contact .viral-contact__grid{grid-template-columns:minmax(0,1fr)!important;gap:17px!important}.viral-contact form.viral-contact__form button.viral-contact__button{width:100%!important;font-size:17px!important;padding:16px 12px!important}}

/* v1.5: full-width message field, protected from Elementor/theme overrides. */
.viral-contact form.viral-contact__form label.viral-contact__field--message{display:flex!important;width:100%!important;margin:20px 0 0!important}
.viral-contact form.viral-contact__form label.viral-contact__field--message textarea,.elementor .viral-contact form.viral-contact__form label.viral-contact__field--message textarea{display:block!important;appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:150px!important;height:auto!important;margin:0!important;padding:16px 17px!important;background:#071b18!important;background-color:#071b18!important;background-image:none!important;border:1px solid rgba(0,255,204,.65)!important;border-radius:13px!important;box-shadow:inset 0 2px 8px rgba(0,0,0,.24)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-family:inherit!important;font-size:16px!important;font-weight:400!important;line-height:1.5!important;outline:none!important;resize:vertical!important}
.viral-contact form.viral-contact__form label.viral-contact__field--message textarea::placeholder{color:#9bb8b0!important;opacity:1!important}
.viral-contact form.viral-contact__form label.viral-contact__field--message textarea:focus{border-color:#00ffcc!important;box-shadow:0 0 0 3px rgba(0,255,204,.18)!important}
/* v1.7: successful submission confirmation, independent of Elementor/theme styling. */
.viral-contact__success-overlay,.viral-contact__success-overlay *{box-sizing:border-box!important}
.viral-contact__success-overlay{position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;background:rgba(0,0,0,.65)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}
.viral-contact__success-dialog{display:block!important;width:min(100%,460px)!important;padding:34px 30px!important;border:2px solid #00ffcc!important;border-radius:24px!important;background:linear-gradient(135deg,#061b18,#050908 65%,#08362e)!important;box-shadow:0 0 35px rgba(0,255,204,.24)!important;outline:none!important;text-align:center!important}
.viral-contact__success-dialog .viral-contact__success-text{display:block!important;margin:0!important;color:#fff!important;font:600 clamp(18px,3.5vw,23px)/1.5 Poppins,Arial,sans-serif!important;letter-spacing:0!important}
