/* =====================================================================
   XORAIX — Premium WPForms styling
   Loaded AFTER main.css and WPForms' own CSS, so these rules win cleanly.
   Brand tokens come from :root in main.css (--pri, --grad, --g*, etc.)
   ===================================================================== */

/* ---- Container ---- */
.wpforms-container,
div.wpforms-container-full{margin:0!important;max-width:100%!important}
.wpforms-container .wpforms-form{display:block!important}

/* ---- Field wrapper spacing ---- */
.wpforms-container .wpforms-field{padding:0!important;margin:0 0 22px!important;clear:both!important}
.wpforms-container .wpforms-field:last-of-type{margin-bottom:0!important}

/* ---- Labels ---- */
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field > label{
    display:block!important;font-family:var(--font-h)!important;font-weight:700!important;
    font-size:.875rem!important;color:var(--dark)!important;margin:0 0 9px!important;
    line-height:1.3!important;letter-spacing:-.01em!important;
}
.wpforms-container .wpforms-required-label{color:var(--pri)!important;margin-left:2px!important}

/* Sublabels (First / Last, etc.) */
.wpforms-container .wpforms-field-sublabel{
    display:block!important;font-family:var(--font-b)!important;font-size:.75rem!important;
    font-weight:500!important;color:var(--g500)!important;margin:7px 0 0!important;padding:0!important;
}

/* ---- Inputs, selects, textareas ---- */
.wpforms-container .wpforms-field input[type=text],
.wpforms-container .wpforms-field input[type=email],
.wpforms-container .wpforms-field input[type=tel],
.wpforms-container .wpforms-field input[type=url],
.wpforms-container .wpforms-field input[type=number],
.wpforms-container .wpforms-field input[type=password],
.wpforms-container .wpforms-field input[type=date],
.wpforms-container .wpforms-field input.wpforms-field-medium,
.wpforms-container .wpforms-field input.wpforms-field-large,
.wpforms-container .wpforms-field input.wpforms-field-small,
.wpforms-container .wpforms-field textarea,
.wpforms-container .wpforms-field select{
    display:block!important;width:100%!important;max-width:100%!important;
    padding:14px 16px!important;font-family:var(--font-b)!important;font-size:.9375rem!important;
    line-height:1.5!important;color:var(--dark)!important;
    background-color:var(--g50)!important;
    border:1.5px solid var(--g200)!important;border-radius:var(--rad)!important;
    outline:none!important;box-shadow:none!important;height:auto!important;margin:0!important;
    box-sizing:border-box!important;
    transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)!important;
}
.wpforms-container .wpforms-field textarea{min-height:150px!important;resize:vertical!important}

/* Placeholder */
.wpforms-container .wpforms-field input::placeholder,
.wpforms-container .wpforms-field textarea::placeholder{color:var(--g400)!important;opacity:1!important}

/* Hover */
.wpforms-container .wpforms-field input:hover,
.wpforms-container .wpforms-field textarea:hover,
.wpforms-container .wpforms-field select:hover{border-color:var(--g300)!important}

/* Focus — brand ring + lift to white */
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field textarea:focus,
.wpforms-container .wpforms-field select:focus{
    border-color:var(--pri)!important;background-color:var(--white)!important;
    box-shadow:0 0 0 4px rgba(var(--pri-rgb),.12)!important;
}

/* Custom select arrow */
.wpforms-container .wpforms-field select{
    appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748B' d='M6 8 0 2l1.4-1.4L6 5.2 10.6.6 12 2z'/%3E%3C/svg%3E")!important;
    background-repeat:no-repeat!important;background-position:right 16px center!important;padding-right:44px!important;cursor:pointer!important;
}

/* =====================================================================
   NAME (First / Last) — robust two-column grid.
   High-specificity + triple-class fallback so it beats WPForms' floats
   regardless of container/markup version. Grid = two equal tracks that
   always fill the full width, perfectly aligned with the fields below.
   ===================================================================== */
div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row,
div.wpforms-container-full .wpforms-form .wpforms-field .wpforms-field-row,
.wpforms-container .wpforms-field .wpforms-field-row.wpforms-field-row.wpforms-field-row{
    display:grid!important;grid-template-columns:1fr 1fr!important;
    column-gap:18px!important;row-gap:0!important;
    width:100%!important;max-width:none!important;min-width:0!important;
    margin:0!important;padding:0!important;float:none!important;clear:both!important;box-sizing:border-box!important;
}
div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row > *,
div.wpforms-container-full .wpforms-form .wpforms-field .wpforms-field-row > *,
.wpforms-container .wpforms-field .wpforms-field-row.wpforms-field-row.wpforms-field-row > *{
    width:auto!important;max-width:none!important;min-width:0!important;
    margin:0!important;padding:0!important;float:none!important;clear:none!important;box-sizing:border-box!important;
}
div.wpforms-container-full .wpforms-form .wpforms-field-name input,
div.wpforms-container-full .wpforms-form .wpforms-field .wpforms-field-row input,
.wpforms-container .wpforms-field .wpforms-field-row.wpforms-field-row input{
    display:block!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;
}

/* ---- Submit button — full-width gradient, premium ---- */
.wpforms-container .wpforms-submit-container{margin-top:8px!important;padding:0!important}
.wpforms-container button[type=submit],
.wpforms-container .wpforms-submit{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
    width:100%!important;padding:16px 32px!important;
    font-family:var(--font-h)!important;font-size:.9375rem!important;font-weight:700!important;letter-spacing:-.01em!important;
    color:var(--white)!important;background:var(--grad)!important;
    border:none!important;border-radius:var(--rad)!important;cursor:pointer!important;
    line-height:1.2!important;height:auto!important;text-transform:none!important;
    box-shadow:0 4px 14px rgba(var(--pri-rgb),.25)!important;
    transition:transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s var(--ease)!important;
}
.wpforms-container button[type=submit]:hover,
.wpforms-container .wpforms-submit:hover{
    transform:translateY(-2px)!important;filter:brightness(1.05)!important;
    box-shadow:0 10px 26px rgba(var(--pri-rgb),.34)!important;
}
.wpforms-container button[type=submit]:active,
.wpforms-container .wpforms-submit:active{transform:translateY(0)!important;box-shadow:0 4px 14px rgba(var(--pri-rgb),.25)!important}

/* ---- Validation / error states ---- */
.wpforms-container .wpforms-field input.wpforms-error,
.wpforms-container .wpforms-field textarea.wpforms-error,
.wpforms-container .wpforms-field select.wpforms-error{
    border-color:#ef4444!important;background-color:rgba(239,68,68,.04)!important;
}
.wpforms-container label.wpforms-error,
.wpforms-container .wpforms-error-container{
    color:#ef4444!important;font-size:.8125rem!important;font-family:var(--font-b)!important;font-weight:500!important;margin-top:7px!important;
}

/* ---- Confirmation message ---- */
.wpforms-confirmation-container-full,
div.wpforms-confirmation-container-full{
    padding:20px 24px!important;border-radius:var(--rad)!important;
    background:rgba(16,185,129,.08)!important;border:1px solid rgba(16,185,129,.25)!important;
    color:var(--dark)!important;font-family:var(--font-b)!important;
}

/* ---- Responsive: stack Name on small screens ---- */
@media(max-width:600px){
    div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row,
    div.wpforms-container-full .wpforms-form .wpforms-field .wpforms-field-row,
    .wpforms-container .wpforms-field .wpforms-field-row.wpforms-field-row.wpforms-field-row{
        grid-template-columns:1fr!important;row-gap:18px!important;
    }
}

/* =====================================================================
   HERO FORM CARD — glass card on the dark hero, with compact form
   ===================================================================== */
.xr-hero__form-card{
    position:relative;z-index:2;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.1);
    border-radius:var(--rad-lg);
    padding:30px 28px;
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    box-shadow:0 24px 60px rgba(0,0,0,.35);
    animation:xrFadeRight .9s var(--ease) .5s both;
}
.xr-hero__form-title{font-size:1.375rem;font-weight:800;color:var(--white);margin:0 0 4px;letter-spacing:-.02em}
.xr-hero__form-subtitle{font-size:.875rem;color:var(--g400);margin:0 0 22px;line-height:1.5}

/* Compact the WPForms fields inside the hero card so it fits one fold */
.xr-hero__form-card .wpforms-container .wpforms-field{margin:0 0 15px!important}
.xr-hero__form-card .wpforms-container .wpforms-field-row.wpforms-field-row.wpforms-field-row{column-gap:14px!important}
.xr-hero__form-card .wpforms-container .wpforms-field input,
.xr-hero__form-card .wpforms-container .wpforms-field select,
.xr-hero__form-card .wpforms-container .wpforms-field textarea{
    padding:11px 14px!important;background-color:rgba(255,255,255,.92)!important;border-color:rgba(255,255,255,.16)!important;
}
.xr-hero__form-card .wpforms-container .wpforms-field textarea{min-height:90px!important}

/* Light labels so they're readable on the dark card */
.xr-hero__form-card .wpforms-container .wpforms-field-label,
.xr-hero__form-card .wpforms-container .wpforms-field > label{color:rgba(255,255,255,.92)!important;font-size:.8125rem!important;margin-bottom:7px!important}
.xr-hero__form-card .wpforms-container .wpforms-field-sublabel{color:var(--g400)!important}
.xr-hero__form-card .wpforms-container .wpforms-required-label{color:var(--sec-light,#22d3ee)!important}
.xr-hero__form-card .wpforms-container .wpforms-submit-container{margin-top:4px!important}

@media(max-width:992px){
    .xr-hero__form-card{margin-top:8px}
}
