.gfd-wrapper {
    width: 100%;
    --gfd-fields-gap: 16px;
    --gfd-row-gap: var(--gfd-fields-gap);
    --gfd-column-gap: var(--gfd-fields-gap);
    --gfd-complex-gap: var(--gfd-fields-gap);
    --gfd-cta-top-gap: 0px;
    --gfd-cta-bottom-gap: 0px;
    --gfd-cta-speed: 2.4s;
    --gfd-field-skew: 0px;
    --gfd-cta-skew: 0px;
}

.gfd-wrapper .gform_wrapper {
    margin: 0;
}

.gfd-wrapper .gform_wrapper.gravity-theme .gform_fields,
.gfd-wrapper .gform_fields {
    gap: var(--gfd-row-gap) var(--gfd-column-gap) !important;
    grid-gap: var(--gfd-row-gap) var(--gfd-column-gap) !important;
    row-gap: var(--gfd-row-gap) !important;
    grid-row-gap: var(--gfd-row-gap) !important;
    column-gap: var(--gfd-column-gap) !important;
    grid-column-gap: var(--gfd-column-gap) !important;
}

.gfd-wrapper .gform_wrapper.gravity-theme .gfield,
.gfd-wrapper .gfield,
.gfd-wrapper li.gfield {
    margin-bottom: var(--gfd-row-gap) !important;
}

.gfd-wrapper .gform_wrapper.gravity-theme .gform_fields > .gfield:last-child,
.gfd-wrapper .gform_fields > .gfield:last-child,
.gfd-wrapper li.gfield:last-child {
    margin-bottom: 0 !important;
}

.gfd-wrapper .ginput_complex,
.gfd-wrapper .ginput_container_name,
.gfd-wrapper .gform-grid-row {
    gap: var(--gfd-complex-gap) !important;
    row-gap: var(--gfd-complex-gap) !important;
    column-gap: var(--gfd-complex-gap) !important;
    grid-column-gap: var(--gfd-complex-gap) !important;
}

.gfd-wrapper .ginput_complex > span,
.gfd-wrapper .ginput_container_name > span,
.gfd-wrapper .gform-grid-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.gfd-wrapper .gform_footer,
.gfd-wrapper .gform_page_footer,
.gfd-wrapper .gform_wrapper.gravity-theme .gform_footer,
.gfd-wrapper .gform_wrapper.gravity-theme .gform_page_footer {
    display: flex !important;
    align-items: center;
    margin-top: var(--gfd-cta-top-gap) !important;
    margin-bottom: var(--gfd-cta-bottom-gap) !important;
    width: 100%;
}

.gfd-wrapper .gform_fields,
.gfd-wrapper .gfield,
.gfd-wrapper .ginput_complex,
.gfd-wrapper .gform_footer,
.gfd-wrapper .gform_page_footer {
    transition: all .25s ease;
}

.gfd-hide-form-title .gform_title,
.gfd-hide-form-description .gform_description,
.gfd-hide-field-labels .gfield_label,
.gfd-hide-field-labels legend.gfield_label,
.gfd-hide-field-labels .gform-field-label--type-field,
.gfd-hide-field-labels .gfield_label_before_complex,
.gfd-hide-sub-labels .gform-field-label--type-sub,
.gfd-hide-sub-labels .ginput_complex label,
.gfd-hide-sub-labels .ginput_container_name label,
.gfd-hide-sub-labels .gfield_sub_label,
.gfd-hide-field-descriptions .gfield_description,
.gfd-hide-required .gfield_required,
.gfd-hide-required .gfield_required_asterisk,
.gfd-hide-required .gfield_required_text {
    display: none !important;
}

.gfd-wrapper input[type="text"],
.gfd-wrapper input[type="email"],
.gfd-wrapper input[type="tel"],
.gfd-wrapper input[type="url"],
.gfd-wrapper input[type="number"],
.gfd-wrapper input[type="password"],
.gfd-wrapper input[type="search"],
.gfd-wrapper input[type="date"],
.gfd-wrapper textarea,
.gfd-wrapper select {
    transition: all .25s ease;
}

.gfd-field-skew-right input[type="text"],
.gfd-field-skew-right input[type="email"],
.gfd-field-skew-right input[type="tel"],
.gfd-field-skew-right input[type="url"],
.gfd-field-skew-right input[type="number"],
.gfd-field-skew-right input[type="password"],
.gfd-field-skew-right input[type="search"],
.gfd-field-skew-right input[type="date"],
.gfd-field-skew-right textarea,
.gfd-field-skew-right select {
    clip-path: polygon(var(--gfd-field-skew) 0, 100% 0, calc(100% - var(--gfd-field-skew)) 100%, 0 100%);
}

.gfd-field-skew-left input[type="text"],
.gfd-field-skew-left input[type="email"],
.gfd-field-skew-left input[type="tel"],
.gfd-field-skew-left input[type="url"],
.gfd-field-skew-left input[type="number"],
.gfd-field-skew-left input[type="password"],
.gfd-field-skew-left input[type="search"],
.gfd-field-skew-left input[type="date"],
.gfd-field-skew-left textarea,
.gfd-field-skew-left select {
    clip-path: polygon(0 0, calc(100% - var(--gfd-field-skew)) 0, 100% 100%, var(--gfd-field-skew) 100%);
}

.gfd-wrapper .gform_button,
.gfd-wrapper .gform_footer .gform_button,
.gfd-wrapper .gform_footer input[type="submit"],
.gfd-wrapper .gform_next_button,
.gfd-wrapper .gform_previous_button,
.gfd-wrapper button[type="submit"],
.gfd-wrapper input[type="submit"] {
    transition: all .25s ease;
    cursor: pointer;
}

.gfd-button-full .gform_footer,
.gfd-button-full .gform_page_footer {
    width: 100%;
}

.gfd-button-full .gform_button,
.gfd-button-full .gform_footer .gform_button,
.gfd-button-full .gform_footer input[type="submit"],
.gfd-button-full button[type="submit"],
.gfd-button-full input[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
}

.gfd-button-align-left .gform_footer,
.gfd-button-align-left .gform_page_footer {
    justify-content: flex-start !important;
    text-align: left !important;
}

.gfd-button-align-center .gform_footer,
.gfd-button-align-center .gform_page_footer {
    justify-content: center !important;
    text-align: center !important;
}

.gfd-button-align-right .gform_footer,
.gfd-button-align-right .gform_page_footer {
    justify-content: flex-end !important;
    text-align: right !important;
}

.gfd-cta-pulse .gform_button,
.gfd-cta-pulse .gform_footer input[type="submit"],
.gfd-cta-pulse button[type="submit"],
.gfd-cta-pulse input[type="submit"] {
    animation: gfdPulse var(--gfd-cta-speed) ease-in-out infinite;
}

.gfd-cta-float .gform_button,
.gfd-cta-float .gform_footer input[type="submit"],
.gfd-cta-float button[type="submit"],
.gfd-cta-float input[type="submit"] {
    animation: gfdFloat var(--gfd-cta-speed) ease-in-out infinite;
}

.gfd-cta-shine .gform_button,
.gfd-cta-shine .gform_footer input[type="submit"],
.gfd-cta-shine button[type="submit"],
.gfd-cta-shine input[type="submit"] {
    position: relative;
    overflow: hidden;
}

.gfd-cta-shine .gform_button:before,
.gfd-cta-shine button[type="submit"]:before {
    content: "";
    position: absolute;
    top: 0;
    left: -80%;
    width: 55%;
    height: 100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,.45), transparent);
    transform: skewX(-20deg);
    animation: gfdShine var(--gfd-cta-speed) ease-in-out infinite;
}

@keyframes gfdPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.035); }
}

@keyframes gfdFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

@keyframes gfdShine {
    0% { left: -80%; }
    45%, 100% { left: 130%; }
}

/* v1.0.3: Force equal complex/name field widths and stronger live CTA handling. */
.gfd-wrapper,
.gfd-wrapper * {
    box-sizing: border-box;
}

.gfd-wrapper .gform_wrapper.gravity-theme .ginput_complex.ginput_container_name,
.gfd-wrapper .ginput_complex.ginput_container_name,
.gfd-wrapper .ginput_container_name,
.gfd-wrapper .ginput_complex.gf_name_has_2,
.gfd-wrapper .gf_name_has_2 {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--gfd-complex-gap) !important;
    column-gap: var(--gfd-complex-gap) !important;
    row-gap: var(--gfd-complex-gap) !important;
}

.gfd-wrapper .ginput_container_name > span,
.gfd-wrapper .ginput_container_name > .gform-grid-col,
.gfd-wrapper .gf_name_has_2 > span,
.gfd-wrapper .gf_name_has_2 > .gform-grid-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.gfd-wrapper .ginput_container_name input,
.gfd-wrapper .ginput_complex input,
.gfd-wrapper input[type="text"],
.gfd-wrapper input[type="email"],
.gfd-wrapper input[type="tel"],
.gfd-wrapper textarea,
.gfd-wrapper select {
    width: 100% !important;
    max-width: 100% !important;
}

.gfd-wrapper .gform_footer,
.gfd-wrapper .gform_page_footer,
.gfd-wrapper .gform_wrapper.gravity-theme .gform_footer,
.gfd-wrapper .gform_wrapper.gravity-theme .gform_page_footer {
    margin-top: var(--gfd-cta-top-gap) !important;
    margin-bottom: var(--gfd-cta-bottom-gap) !important;
    padding-top: 0 !important;
}

.gfd-wrapper .gform_footer input[type="submit"],
.gfd-wrapper .gform_footer button,
.gfd-wrapper input.gform_button,
.gfd-wrapper .gform_button {
    appearance: none;
    -webkit-appearance: none;
}


/* v1.0.4: CTA button shape skew. Uses clip-path so button text remains straight. */
.gfd-cta-skew-right .gform_button,
.gfd-cta-skew-right .gform_footer .gform_button,
.gfd-cta-skew-right .gform_footer input[type="submit"],
.gfd-cta-skew-right button[type="submit"],
.gfd-cta-skew-right input[type="submit"] {
    clip-path: polygon(var(--gfd-cta-skew) 0, 100% 0, calc(100% - var(--gfd-cta-skew)) 100%, 0 100%) !important;
}

.gfd-cta-skew-left .gform_button,
.gfd-cta-skew-left .gform_footer .gform_button,
.gfd-cta-skew-left .gform_footer input[type="submit"],
.gfd-cta-skew-left button[type="submit"],
.gfd-cta-skew-left input[type="submit"] {
    clip-path: polygon(0 0, calc(100% - var(--gfd-cta-skew)) 0, 100% 100%, var(--gfd-cta-skew) 100%) !important;
}
