/* =====================================================================
   CONTACT VX - page sections. Loaded only on page-contact-vx.php
   ===================================================================== */

/* ---------- CONTACT VX ROOT ---------- */
/* Figma 2163:1247 (band 1440×525, image, border #262626) + 2163:1248 (card ~1258 wide, starts 100 into band, bg black 20%, radius 10, pad 40) | title 55/65 Medium -6%, 734 wide | text 20 -3%, 722 wide | info: label 18 caps, gap 10, link 18 underline, blocks 90 apart | live map 559×429 radius 10 | social: label 17.3, icons 27.7, gap 17.3 | form card 580 wide, white, radius 10, pad 30 | label 18 Medium #656565, * #F00000 | input h54, border #EAEAEA, radius 8 | textarea 158 | submit gradient, radius 8, 18px */
:root{--vx-ct-band-h:clamp(18.75rem,13.4444rem + 23.5802vw,32.8125rem);--vx-ct-band-img:url('../images/contact-bg.webp');--vx-ct-band-border:#262626;--vx-ct-card-w:1258px;--vx-ct-card-top:clamp(2.5rem,1.25rem + 5.5556vw,6.25rem);--vx-ct-card-bg:rgba(0,0,0,.2);--vx-ct-card-radius:10px;--vx-ct-pad:clamp(1.25rem,.8333rem + 1.8519vw,2.5rem);--vx-ct-gap:40px;--vx-ct-row-gap:clamp(2rem,1.5208rem + 2.1296vw,2.9375rem);--vx-ct-title-w:734px;--vx-ct-title-fs:clamp(2.25rem,1.8542rem + 1.7593vw,3.4375rem);--vx-ct-title-lh:1.18;--vx-ct-text-w:722px;--vx-ct-text-fs:var(--vx-fs-lead);--vx-ct-info-fs:var(--vx-fs-body);--vx-ct-info-gap:clamp(1.5rem,1.2083rem + 1.2963vw,2.5rem);--vx-ct-info-w:468px;--vx-ct-map-ratio:559 / 429;--vx-ct-social-fs:1.0833rem;--vx-ct-social-icon:28px;--vx-ct-social-gap:17px;--vx-ct-form-w:580px;--vx-ct-form-bg:var(--vx-white);--vx-ct-form-pad:clamp(1.25rem,1.0417rem + .9259vw,1.875rem);--vx-ct-field-gap:15px;--vx-ct-label-color:#656565;--vx-ct-req:#F00000;--vx-ct-input-h:54px;--vx-ct-input-border:#EAEAEA;--vx-ct-input-focus:var(--vx-violet-700);--vx-ct-input-radius:8px;--vx-ct-text-color:#1E1E1E;--vx-ct-textarea-h:158px;--vx-ct-submit-fs:1.128rem;--vx-ct-ok:#0F7B45;--vx-ct-err:#D00000}

/* ---------- SECTION + BAND ---------- */
.vx-ct{position:relative;isolation:isolate;padding:var(--vx-ct-card-top) 0 var(--vx-section-space)}
.vx-ct__band{position:absolute;top:0;right:0;left:0;z-index:-1;height:var(--vx-ct-band-h);background:var(--vx-black) var(--vx-ct-band-img) center / cover no-repeat;border-top:1px solid var(--vx-ct-band-border);border-bottom:1px solid var(--vx-ct-band-border)}

/* ---------- CARD (mobile: stacked) ---------- */
.vx-ct__card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "social" "info" "form" "map";gap:var(--vx-ct-row-gap);max-width:var(--vx-ct-card-w);margin-inline:auto;box-sizing:border-box;padding:var(--vx-ct-pad);background:var(--vx-ct-card-bg);border-radius:var(--vx-ct-card-radius)}
.vx-ct__head{grid-area:head}
.vx .vx-ct__title{max-width:var(--vx-ct-title-w);margin:0;font-size:var(--vx-ct-title-fs);line-height:var(--vx-ct-title-lh);letter-spacing:-0.06em;text-wrap:wrap}
.vx .vx-ct__text{max-width:var(--vx-ct-text-w);margin:var(--vx-space-12) 0 0;font-size:var(--vx-ct-text-fs);letter-spacing:-0.03em;text-wrap:wrap}

/* ---------- SOCIAL ---------- */
.vx-ct__social{grid-area:social;display:flex;flex-direction:column;align-items:flex-start;gap:var(--vx-space-12)}
.vx .vx-ct__social-label{margin:0;font-size:var(--vx-ct-social-fs);letter-spacing:-0.03em}
.vx-ct__social-list{display:flex;align-items:center;gap:var(--vx-ct-social-gap);margin:0;padding:0;list-style:none}
.vx-ct__social-link{position:relative;display:flex;transition:opacity var(--vx-dur) var(--vx-ease),transform var(--vx-dur) var(--vx-ease)}
.vx-ct__social-link::before{content:"";position:absolute;inset:-8px}
.vx-ct__social-link img{display:block;width:var(--vx-ct-social-icon);height:var(--vx-ct-social-icon)}

/* ---------- INFO ---------- */
.vx-ct__info{grid-area:info;display:flex;flex-direction:column;gap:var(--vx-ct-info-gap);max-width:var(--vx-ct-info-w);margin:0;padding:0;list-style:none}
.vx-ct__item{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.vx-ct__label{font-size:var(--vx-ct-info-fs);line-height:1.36;letter-spacing:-0.03em;text-transform:uppercase;color:var(--vx-white)}
.vx-ct__link{font-size:var(--vx-ct-info-fs);line-height:1.36;letter-spacing:-0.03em;color:var(--vx-white);text-decoration:underline;text-underline-offset:3px;transition:color var(--vx-dur) var(--vx-ease)}

/* ---------- MAP (live Google Maps embed, lazy-loaded) ---------- */
.vx-ct__map{grid-area:map;position:relative;align-self:end;aspect-ratio:var(--vx-ct-map-ratio);overflow:hidden;border-radius:var(--vx-ct-card-radius);background:var(--vx-white)}
.vx-ct__map iframe{display:block;width:100%;height:100%;border:0}

/* ---------- FORM CARD + CF7 ---------- */
.vx-ct__form{grid-area:form;box-sizing:border-box;padding:var(--vx-ct-form-pad);background:var(--vx-ct-form-bg);border-radius:var(--vx-ct-card-radius);color:var(--vx-ct-text-color)}
.vx-ct__form .wpcf7 p{margin:0}
.vx-ct__form .wpcf7 br{display:none}
.vx-cf{display:flex;flex-direction:column;gap:var(--vx-ct-field-gap)}
.vx-cf__field{display:flex;flex-direction:column;gap:10px}
.vx-cf__label{font-size:var(--vx-ct-info-fs);font-weight:var(--vx-fw-medium);line-height:1.36;letter-spacing:-0.03em;color:var(--vx-ct-label-color)}
.vx-cf__req{color:var(--vx-ct-req)}
.vx-ct__form .wpcf7-form-control-wrap{display:block}
.vx .vx-cf__input{display:block;box-sizing:border-box;width:100%;height:var(--vx-ct-input-h);margin:0;padding:0 var(--vx-space-16);background:var(--vx-white);border:1px solid var(--vx-ct-input-border);border-radius:var(--vx-ct-input-radius);box-shadow:none;font:inherit;font-size:var(--vx-fs-body);color:var(--vx-ct-text-color);transition:border-color var(--vx-dur) var(--vx-ease),box-shadow var(--vx-dur) var(--vx-ease)}
.vx .vx-cf__textarea{height:var(--vx-ct-textarea-h);padding:var(--vx-space-12) var(--vx-space-16);resize:vertical}
.vx .vx-cf__input:focus{outline:none;border-color:var(--vx-ct-input-focus);box-shadow:0 0 0 3px rgba(109,0,156,.15)}
.vx .vx-cf__input.wpcf7-not-valid{border-color:var(--vx-ct-err)}
.vx .vx-cf__submit{display:block;width:100%;min-height:var(--vx-btn-h);margin:var(--vx-space-4) 0 0;padding:12.6px 25px;background:var(--vx-action);border:0;border-radius:var(--vx-ct-input-radius);font:inherit;font-size:var(--vx-ct-submit-fs);letter-spacing:-0.06em;color:var(--vx-white);cursor:pointer;transition:filter var(--vx-dur) var(--vx-ease)}
.vx .vx-cf__submit:hover{filter:brightness(1.12)}
.vx .vx-cf__submit:focus-visible{outline:2px solid var(--vx-violet-700);outline-offset:3px}
.vx-ct__form .wpcf7-spinner{display:block;margin:var(--vx-space-8) auto 0}
.vx-ct__form .wpcf7-not-valid-tip{margin-top:6px;font-size:var(--vx-fs-compact);color:var(--vx-ct-err)}
.vx-ct__form .wpcf7 form .wpcf7-response-output{margin:var(--vx-space-16) 0 0;padding:var(--vx-space-12) var(--vx-space-16);border:1px solid currentColor;border-radius:var(--vx-ct-input-radius);font-size:var(--vx-fs-compact);color:var(--vx-ct-err)}
.vx-ct__form .wpcf7 form.sent .wpcf7-response-output{color:var(--vx-ct-ok)}

/* CONTACT: hover (mouse only) */
@media (hover:hover){
.vx-ct__social-link:hover{opacity:.75;transform:translateY(-2px)}
.vx-ct__link:hover{color:var(--vx-accent)}
}

/* CONTACT: desktop (as in Figma) */
@media (min-width:1024px){
.vx-ct__card{grid-template-columns:minmax(0,1fr) minmax(0,var(--vx-ct-form-w));grid-template-areas:"head social" "info form" "map form";column-gap:var(--vx-ct-gap);row-gap:var(--vx-ct-row-gap)}
.vx-ct__social{align-items:flex-end;text-align:right}
.vx-ct__info{align-self:start}
}