/* Vĩnh Lộc contact and registration — responsive, scoped to page-lien-he.php. */
.vlp-contact-page{background:linear-gradient(135deg,#07192d 0%,#0b2b48 55%,#091b2e 100%)!important;color:#ecf4ff}
.vlp-contact-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:20px;align-items:start}
.vlp-contact-primary{display:grid;gap:20px;min-width:0}
.vlp-contact-page .vl-contact-card{min-width:0;background:linear-gradient(148deg,rgba(20,54,83,.97),rgba(5,22,41,.98));border:1px solid #3c6a90;border-radius:15px;padding:clamp(20px,2.5vw,32px);box-shadow:0 16px 42px #0004;overflow:hidden}
.vlp-contact-page .vl-contact-card h2{color:#f3ff72;font-size:clamp(22px,2.2vw,31px);line-height:1.27;margin:10px 0 12px}
.vlp-contact-page .vl-contact-card p{color:#c4d9ec;font-size:13px;line-height:1.8}
.vlp-contact-page .vl-contact-line{font-size:13px;line-height:1.7;color:#e5eef8;display:flex;flex-wrap:wrap;gap:5px}
.vlp-contact-page .vl-contact-line a{color:#aff0ff;overflow-wrap:anywhere}
.vlp-contact-socials{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}
.vlp-contact-socials a{min-height:39px;display:inline-flex;align-items:center;gap:9px;border:1px solid #3d7caa;background:#123956;border-radius:9px;color:#f0f7ff;padding:6px 12px;font-size:12px;font-weight:700;transition:background .2s,border-color .2s,transform .2s}
.vlp-contact-socials a:hover,.vlp-contact-socials a:focus-visible{background:#1a5078;color:#efff75;border-color:#d8ff43;transform:translateY(-2px)}
.vlp-social-symbol{border-radius:50%;display:grid;place-items:center;font-size:13px;color:#061b31;background:#ddff43;width:23px;height:23px;font-weight:900}
.vlp-contact-form-panel .vlp-reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.vlp-contact-form-panel .vlp-reg-field{min-width:0;display:flex;flex-direction:column;gap:6px}
.vlp-contact-form-panel .vlp-reg-field.full,.vlp-contact-form-panel .vlp-reg-consent,.vlp-contact-form-panel .vlp-reg-submit{grid-column:1/-1}
.vlp-contact-form-panel label{color:#e5f0f9;font-size:12px;font-weight:700}
.vlp-contact-form-panel input:not([type=checkbox]),.vlp-contact-form-panel select,.vlp-contact-form-panel textarea{width:100%;max-width:100%;min-height:45px;box-sizing:border-box;border-radius:8px;border:1px solid #4b7191;background:#091e33;color:#f1f7ff;padding:10px 12px;font-size:13px;line-height:1.45;box-shadow:none}
.vlp-contact-form-panel textarea{min-height:105px;resize:vertical}
.vlp-contact-form-panel input:focus-visible,.vlp-contact-form-panel select:focus-visible,.vlp-contact-form-panel textarea:focus-visible{outline:2px solid #dfff4c;outline-offset:1px;border-color:#dfff4c}
.vlp-contact-form-panel input::placeholder,.vlp-contact-form-panel textarea::placeholder{color:#9db3ca}
.vlp-contact-form-panel .vlp-reg-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:500;line-height:1.7;color:#bfcede}
.vlp-contact-form-panel .vlp-reg-consent input{margin-top:4px;accent-color:#dfff4c;flex:none}
.vlp-contact-form-panel .vlp-reg-consent a{color:#e6ff78;text-decoration:underline}
.vlp-contact-form-panel .vlp-reg-submit button{width:100%;min-height:48px;border-radius:9px;background:linear-gradient(110deg,#efff74,#d5f900);border:1px solid #f2ff80;color:#0a2333;font-size:13px;font-weight:900;letter-spacing:.025em;transition:transform .2s,box-shadow .2s}
.vlp-contact-form-panel .vlp-reg-submit button:hover{transform:translateY(-2px);box-shadow:0 5px 20px #ccff3b55}
.vlp-contact-page .vlp-reg-alert{padding:12px 15px;margin:13px 0;border:1px solid #8bc8aa;background:#113e37;color:#e2ffea;border-radius:9px;font-size:13px;line-height:1.6}
.vlp-contact-page .vlp-reg-alert.error{border-color:#db9393;background:#4a2734;color:#ffe4e4}
.vlp-contact-page .vlp-contact-muted{font-size:12px;color:#a3c0d4}
.vlp-contact-page .vlp-reg-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.vlp-contact-page .vlp-event-choose{display:flex;gap:9px;flex-wrap:wrap;align-items:end;margin:18px 0}
.vlp-contact-page .vlp-event-choose label{font-size:12px;display:block;margin-bottom:7px;color:#e9f0f7}
.vlp-contact-page .vlp-event-choose select{max-width:340px;width:100%;min-height:43px;background:#0a263d;color:#fff;border:1px solid #47769c;border-radius:7px;padding:9px}
.vlp-contact-page .vlp-event-choose button{min-height:43px;border:1px solid #dcff48;background:#ddff48;color:#0a2333;border-radius:7px;padding:8px 15px;font-weight:800}
.vlp-contact-page .vlp-contact-guide .wpk-form input,.vlp-contact-page .vlp-contact-guide .wpk-form select,.vlp-contact-page .vlp-contact-guide .wpk-form textarea{color:#f0f6fc;background:#092037;border:1px solid #4f7293}
.vlp-contact-page .vlp-contact-guide .panel{background:#0c2a43!important;border:1px solid #457297!important;padding:18px}
@media(max-width:1000px){.vlp-contact-layout{grid-template-columns:1fr}.vlp-contact-primary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.vlp-contact-primary{grid-template-columns:1fr}.vlp-contact-page .vl-contact-card{padding:20px}.vlp-contact-form-panel .vlp-reg-grid{grid-template-columns:1fr}.vlp-contact-form-panel .vlp-reg-field{grid-column:1/-1}.vlp-contact-page .vlp-event-choose>*{width:100%}}
@media(prefers-reduced-motion:reduce){.vlp-contact-socials a,.vlp-reg-submit button{transition:none!important;transform:none!important}}
