.wl-inview { visibility: visible; transform: translate(0,0); }

/* Floating ornaments (replaces framer-motion y/rotate loops) */
@keyframes wl-float-a { 0%{transform:translateY(-20px) rotate(0)} 50%{transform:translateY(20px) rotate(5deg)} 100%{transform:translateY(-20px) rotate(0)} }
@keyframes wl-float-b { 0%{transform:translateY(20px) rotate(0)} 50%{transform:translateY(-20px) rotate(-5deg)} 100%{transform:translateY(20px) rotate(0)} }
@keyframes wl-float-c { 0%{transform:translateY(-15px)} 50%{transform:translateY(15px)} 100%{transform:translateY(-15px)} }

.wl-float-a { animation: wl-float-a 8s ease-in-out infinite; }
.wl-float-b { animation: wl-float-b 7s ease-in-out infinite; animation-delay: 1s; }
.wl-float-c { animation: wl-float-c 6s ease-in-out infinite; animation-delay: 2s; }

/* Accordion panel */
.wl-accordion .wl-accordion-panel { transition: max-height .25s ease; }


     /* ── Audit Form – glass card on dark bg ────────────────── */
 .wl-audit-form .frm-fluent-form fieldset {
     display: flex;
     flex-direction: column;
     gap: 1.25rem;
     margin: 0 !important;
     padding: 0 !important;
     border: 0 !important;
     background: transparent !important;
     box-shadow: none !important;
 }

.wl-audit-form .frm-fluent-form input[type="hidden"],
.wl-audit-form .frm-fluent-form legend {
    display: none !important;
}

/* Labels */
.wl-audit-form .frm-fluent-form .ff-el-input--label {
    margin: 0 !important;
    padding: 0 !important;
}

.wl-audit-form .frm-fluent-form .ff-el-input--label label {
    display: block;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1;
    color: hsl(var(--primary-foreground) / 0.8);
    margin: 0 0 0.5rem;
}

/* Optional label suffix */
.wl-audit-form .frm-fluent-form .ff-el-input--label label .ff-el-help-message {
    color: hsl(var(--primary-foreground) / 0.5);
    font-weight: 400;
}

/* Hide asterisks */
.wl-audit-form .frm-fluent-form .ff-el-is-required.asterisk-right label:after {
    display: none !important;
}

/* Inputs – glass style */
.wl-audit-form .frm-fluent-form .ff-el-form-control {
    width: 100%;
    height: 2.5rem;
    border-radius: calc(var(--radius) - 2px);
    border: 1px solid hsl(var(--primary-foreground) / 0.2);
    background: hsl(var(--primary-foreground) / 0.1);
    color: hsl(var(--primary-foreground));
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

@media (min-width: 768px) {
    .wl-audit-form .frm-fluent-form .ff-el-form-control {
        font-size: 0.875rem;
    }
}

.wl-audit-form .frm-fluent-form .ff-el-form-control::placeholder {
    color: hsl(var(--primary-foreground) / 0.4);
}

.wl-audit-form .frm-fluent-form .ff-el-form-control:focus {
    border-color: hsl(var(--ring));
    box-shadow: 0 0 0 2px hsl(var(--ring) / 0.3);
}

/* Textarea */
.wl-audit-form .frm-fluent-form textarea.ff-el-form-control {
    height: auto;
    min-height: 5rem;
    padding: 0.5rem 0.75rem;
    resize: vertical;
}

/* Select */
.wl-audit-form .frm-fluent-form select.ff-el-form-control {
    appearance: auto;
    cursor: pointer;
}

/* Field groups margin reset */
.wl-audit-form .frm-fluent-form .ff-el-group {
    margin: 0 !important;
}

/* Submit wrapper */
.wl-audit-form .frm-fluent-form .ff_submit_btn_wrapper {
    margin-top: 0.25rem !important;
}

/* Submit button – reset Fluent default, apply lovable style */
.wl-audit-form .ff-default .ff_btn_style.ff-btn,
.wl-audit-form .ff-default .ff_btn_style.ff-btn-submit {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    white-space: nowrap !important;
    text-align: center !important;
}

.wl-audit-form .ff-default .ff_btn_style.ff-btn-submit {
    width: 100% !important;
    height: 3.5rem !important;
    border-radius: 0.75rem !important;
    padding: 0 2.5rem !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    background: hsl(var(--green)) !important;
    color: hsl(var(--primary-foreground)) !important;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1) !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease !important;
    cursor: pointer;
}

.wl-audit-form .ff-default .ff_btn_style.ff-btn-submit:hover {
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1) !important;
    transform: translateY(-2px) !important;
}

.wl-audit-form .ff-default .ff_btn_style.ff-btn-submit:active {
    transform: translateY(0) !important;
}

/* Arrow icon after button text */
.wl-audit-form .frm-fluent-form .ff-btn-submit {
    position: relative;
}

.wl-audit-form .frm-fluent-form .ff-btn-submit::after {
    content: '';
    width: 1.25rem;
    height: 1.25rem;
    display: inline-block;
    margin-left: 0.5rem;
    background: currentColor;
    mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
    -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: transform 0.2s ease;
}

.wl-audit-form .frm-fluent-form .ff-btn-submit:hover::after {
    transform: translateX(0.25rem);
}

/* T&C / GDPR checkbox */
.wl-audit-form .fluentform .ff-el-tc label.ff_tc_label > span,
.wl-audit-form .fluentform .ff-el-tc label.ff_tc_label > div {
    color: hsl(var(--primary-foreground) / 0.5);
    font-size: 0.75rem;
    line-height: 1rem;
}

/* Success message */
.wl-audit-form .ff-message-success {
    text-align: center;
    color: hsl(var(--green));
    font-weight: 600;
}

/* Error messages */
.wl-audit-form .ff-el-is-error .ff-el-form-control {
    border-color: hsl(var(--destructive)) !important;
}

.wl-audit-form .error.text-danger {
    color: hsl(var(--destructive));
    font-size: 0.75rem;
    margin-top: 0.25rem;
}

.font-m{
    font-size: 2.25rem;
}
@media(min-width: 900px){
    .font-m{
        font-size: 4rem;
    }
}