/* =====================================================
    FORM CARD
    ===================================================== */
     
  
.form-card{
background:rgba(255,255,255,0.96);
border-radius:22px;
padding:48px 36px;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
}

/* =====================================================
    GRAVITY FORMS RESET
    ===================================================== */

.form-card__intro{
max-width:1000px;
margin:0 auto var(--space-4);
text-align:center;
}

.form-card__title{
margin:0 0 var(--space-2);
color:var(--color-text);
}

.form-card__description{
max-width:700px;
margin:0 auto;
color:var(--color-text);
}

.form-card .gform_wrapper{
margin:0;
max-width:100%;
}

.form-card .gform_heading{
display:none;
}

.form-card .gform_validation_errors{
margin-bottom:var(--space-3);
padding:var(--space-2) var(--space-3);
border:1px solid rgba(224,30,69,0.16);
border-radius:16px;
background:#fff4f6;
box-shadow:none;
}

.form-card .gform_validation_errors h2{
margin:0;
font-family:var(--font-body);
font-size:var(--body-sm);
font-weight:600;
line-height:1.5;
letter-spacing:0;
text-transform:none;
color:var(--watermelon-700);
}

/* =====================================================
    FIELD SPACING
    ===================================================== */

.form-card .gform_fields{
row-gap:var(--space-3);
}

.form-card .gfield{
margin-bottom:var(--space-3);
}

.form-card .gfield:last-child{
margin-bottom:0;
}

/* =====================================================
    LABELS
    ===================================================== */

.form-card .gfield_label,
.form-card .gform-field-label{
display:block;
margin-bottom:10px;
font-family:var(--font-heading);
font-size:0.82rem;
font-weight:400;
line-height:1.3;
letter-spacing:var(--tracking-wide);
text-transform:uppercase;
color:var(--color-text);
}

.form-card .gfield_required{
color:var(--color-primary);
margin-left:4px;
}

.form-card .gfield_description,
.form-card .ginput_complex label,
.form-card .instruction,
.form-card .validation_message,
.form-card .gform_description{
font-family:var(--font-body);
font-size:var(--body-sm);
line-height:1.5;
color:rgba(42,0,115,0.72);
}

/* =====================================================
    INPUTS
    ===================================================== */

.form-card .gfield input[type="text"],
.form-card .gfield input[type="email"],
.form-card .gfield input[type="tel"],
.form-card .gfield input[type="url"],
.form-card .gfield input[type="number"],
.form-card .gfield input[type="password"],
.form-card .gfield select,
.form-card .gfield textarea{
    width:100%;
    min-height:54px;
    padding:14px 16px;
    border:1px solid rgba(71,30,128,0.18);
    border-radius:12px;
    background:#fff;
    font-family:var(--font-body);
    font-size:var(--body-md);
    font-weight:400;
    line-height:1.4;
    color:var(--color-text);
    box-shadow:none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}

.form-card .gfield textarea{
    min-height:160px;
    resize:vertical;
    padding-top:16px;
}

.form-card .gfield select{
    appearance:none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--purple-800) 50%),
        linear-gradient(135deg, var(--purple-800) 50%, transparent 50%);
    background-position:
        calc(100% - 20px) calc(50% - 3px),
        calc(100% - 14px) calc(50% - 3px);
    background-size:6px 6px, 6px 6px;
    background-repeat:no-repeat;
    padding-right:44px;
}

.form-card .ginput_container .gform-field-label {
    text-transform: none !important;
}

.form-card .gfield input::placeholder,
.form-card .gfield textarea::placeholder{
    color:rgba(42,0,115,0.42);
}

.form-card .gfield input:hover,
.form-card .gfield select:hover,
.form-card .gfield textarea:hover{
    border-color:rgba(71,30,128,0.32);
}

.form-card .gfield input:focus,
.form-card .gfield select:focus,
.form-card .gfield textarea:focus{
    outline:none;
    border-color:var(--color-info);
    box-shadow:0 0 0 3px rgba(57,134,255,0.15);
    background:#fff;
}

/* =====================================================
    CHECKBOXES / RADIOS
    ===================================================== */

.form-card .ginput_container_checkbox,
.form-card .ginput_container_radio{
    display:grid;
    gap:12px;
}

.form-card .gchoice{
    display:flex;
    align-items:flex-start;
    gap:10px !important;
}

.form-card .gchoice input[type="checkbox"],
.form-card .gchoice input[type="radio"]{
margin-top:4px;
accent-color:var(--color-primary);
}

.form-card .gchoice label{
    margin:0;
    font-family:var(--font-body);
    text-transform: none;
    font-size:var(--body-md);
    line-height:1.45;
    color:var(--color-text);
}

/* =====================================================
    FORM NOTES
    ===================================================== */
.form-note, .form-note-important {
    border-left: 5px solid var(--purple-800);
    padding: var(--space-4);
    background: var(--sky-200);
}
/* =====================================================
    ERRORS
    ===================================================== */

.form-card .gfield_error input,
.form-card .gfield_error select,
.form-card .gfield_error textarea{
border-color:var(--watermelon-500);
background:#fffafb;
}

.form-card .gfield_error .gfield_label,
.form-card .validation_message{
color:var(--watermelon-700);
}

/* =====================================================
    BUTTONS
    ===================================================== */

.form-card .gform_footer,
.form-card .gform_page_footer{
    margin-top:var(--space-4);
    padding-top:0;
}

.form-card .gform_button,
.form-card input[type="submit"].gform_button,
.form-card button.gform_button{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  
    padding: 12px 24px !important;
  
    font-family: var(--font-heading) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
  
    border-radius: 6px !important;
    border: none !important;
  
    cursor: pointer !important;
    transition: all 0.2s ease !important;
  
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
  
    text-decoration: none !important;
    white-space: nowrap !important;
}

.form-card .gform_button:hover,
.form-card input[type="submit"].gform_button:hover,
.form-card button.gform_button:hover{
    transform: scale(1.05) !important;
}

.form-card .gform_button:active,
.form-card input[type="submit"].gform_button:active,
.form-card button.gform_button:active{
    background-color:var(--btn-primary-bg-pressed);
    transform: scale(0.98) !important;
}

.form-card .gform_button:focus-visible,
.form-card input[type="submit"].gform_button:focus-visible,
.form-card button.gform_button:focus-visible{
    outline: 3px solid var(--color-focus) !important;
    outline-offset: 3px !important;
}

/* =====================================================
FORM CONFIRMATION
===================================================== */

.form-card .gform_confirmation_wrapper{
    margin:0;
}

.form-card .gform_confirmation_message{
    max-width:760px;
    margin:0 auto;
    padding:var(--space-5);
    border-radius:24px;
    background:
        linear-gradient(135deg, rgba(255,190,12,0.10) 0%, rgba(131,56,236,0.10) 100%);
    border:1px solid rgba(131,56,236,0.14);
    box-shadow:0 15px 40px rgba(0,0,0,0.06);
    text-align:center;
    color:var(--color-text);
}

.form-card .gform_confirmation_message::before{
    content:"✓";
    display:flex;
    align-items:center;
    justify-content:center;
    width:72px;
    height:72px;
    margin:0 auto var(--space-3);
    border-radius:999px;
    background:var(--salsa-gradient-4);
    color:#fff;
    font-family:var(--font-heading);
    font-size:1.8rem;
    line-height:1;
    box-shadow:0 10px 24px rgba(0,0,0,0.10);
}

.form-card .gform_confirmation_message h1,
.form-card .gform_confirmation_message h2,
.form-card .gform_confirmation_message h3,
.form-card .gform_confirmation_message h4{
    margin:0 0 var(--space-2);
    color:var(--color-text);
    text-align:center;
}

.form-card .gform_confirmation_message p{
    max-width:620px;
    margin:0 auto var(--space-2);
    color:var(--color-text);
}

.form-card .gform_confirmation_message p:last-child{
    margin-bottom:0;
}

.form-card .gform_confirmation_message a{
    color:var(--color-info);
    text-decoration:underline;
    text-underline-offset:3px;
}

@media (max-width:768px){
.form-card .gform_confirmation_message{
    padding:var(--space-4);
    border-radius:20px;
}

.form-card .gform_confirmation_message::before{
    width:64px;
    height:64px;
    font-size:1.5rem;
}
}

@media (max-width:480px){
.form-card .gform_confirmation_message{
    padding:var(--space-3);
    border-radius:18px;
}

.form-card .gform_confirmation_message::before{
    width:56px;
    height:56px;
    font-size:1.3rem;
    margin-bottom:var(--space-2);
}
}

/* =====================================================
    RESPONSIVE
    ===================================================== */

@media (max-width:768px){

.form-page__lead{
    margin-top:18px;
}

.form-card{
    padding:36px 24px;
}

}
@media (max-width:768px){
.form-page-section {
    padding: 0 !important;
}
.form-card {
    border-radius: 0;
}
}

@media (max-width:580px){

.form-card{
    padding:28px 20px;
}

.form-note, .form-note-important {
    padding: var(--space-3);
}

.form-card .gform_button,
.form-card input[type="submit"].gform_button,
.form-card button.gform_button{
    width:100%;
}

}

a.special-link {
    background: var(--yellow-500);
    text-decoration: underline;
}