
/*
 * One Stop Credit Application V11
 * GLOBAL NO-CLIP / FOCUS FIX
 * Version 1.4.0
 *
 * This file intentionally loads after the base V11 stylesheet.
 */

/* ------------------------------------------------------------
   1. CUSTOM HTML SECTION HEADINGS
   Remove every possible source of clipped text / blue partial
   focus boxes from the Custom HTML heading wrapper.
   ------------------------------------------------------------ */

.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field,
.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field.ff-el-group,
.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field .ff-el-input--content {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
}

/* Fluent Forms / browser focus must never draw a box around a Custom HTML heading. */
.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field:focus,
.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field:focus-visible,
.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field:focus-within,
.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field .ff-el-input--content:focus,
.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field .ff-el-input--content:focus-visible,
.one-stop-credit-application.osca-v10 .osca-wow-section-heading-field .ff-el-input--content:focus-within {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/*
 * The older stylesheet used negative margins on every section title while
 * the stage itself uses overflow:hidden. That combination can physically
 * crop the heading and its text. Keep the title completely inside the form.
 */
.one-stop-credit-application.osca-v10 .osca-wow-section-title {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 0 28px 0 !important;
    padding: 22px 26px 20px 30px !important;
    border: 0 !important;
    border-bottom: 1px solid #dfe4ec !important;
    outline: 0 !important;
    background: linear-gradient(110deg, #fff, #f7f8fb) !important;
    box-shadow: inset 5px 0 0 #e31822 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    transform: none !important;
}

/* Disable the older absolutely-positioned accent pseudo-element. */
.one-stop-credit-application.osca-v10 .osca-wow-section-title::before {
    content: none !important;
    display: none !important;
}

/* The icon remains intentionally hidden in the current design. */
.one-stop-credit-application.osca-v10 .osca-wow-section-title .osca-wow-section-icon {
    display: none !important;
}

/* Explicit text metrics prevent Poppins ascenders/descenders being cropped. */
.one-stop-credit-application.osca-v10 .osca-wow-section-title > div,
.one-stop-credit-application.osca-v10 .osca-wow-section-title h2,
.one-stop-credit-application.osca-v10 .osca-wow-section-title p {
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-overflow: clip !important;
}

.one-stop-credit-application.osca-v10 .osca-wow-section-title h2 {
    display: block !important;
    margin: 0 !important;
    padding: 2px 0 3px !important;
    color: #101827 !important;
    font-size: clamp(22px, 2.2vw, 30px) !important;
    font-weight: 700 !important;
    line-height: 1.28 !important;
    letter-spacing: -0.35px !important;
}

.one-stop-credit-application.osca-v10 .osca-wow-section-title p {
    display: block !important;
    margin: 3px 0 0 !important;
    padding: 0 0 2px !important;
    color: #667085 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

/* ------------------------------------------------------------
   2. FIELD LABELS / HELP TEXT
   Never crop labels, required stars, info icons or errors.
   ------------------------------------------------------------ */

.one-stop-credit-application.osca-v10 .ff-el-group,
.one-stop-credit-application.osca-v10 .ff-t-cell,
.one-stop-credit-application.osca-v10 .ff-el-input--label,
.one-stop-credit-application.osca-v10 .ff-el-input--label label,
.one-stop-credit-application.osca-v10 .ff-el-help-message,
.one-stop-credit-application.osca-v10 .error,
.one-stop-credit-application.osca-v10 .text-danger {
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    text-overflow: clip !important;
}

.one-stop-credit-application.osca-v10 .ff-el-input--label label {
    line-height: 1.45 !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
}

/* Keep real controls clipped only by their own rounded border, not by ancestors. */
.one-stop-credit-application.osca-v10 .ff-t-container,
.one-stop-credit-application.osca-v10 .osca-grid {
    overflow: visible !important;
}

/* ------------------------------------------------------------
   3. DISCLOSURE / TERMS
   Force every heading and term to remain readable.
   ------------------------------------------------------------ */

.one-stop-credit-application.osca-v10 .osca-disclosure,
.one-stop-credit-application.osca-v10 .osca-disclosure *,
.one-stop-credit-application.osca-v10 .osca-disclosure-heading,
.one-stop-credit-application.osca-v10 .osca-disclosure-heading h3,
.one-stop-credit-application.osca-v10 .osca-disclosure-heading p,
.one-stop-credit-application.osca-v10 .osca-disclosure-heading span,
.one-stop-credit-application.osca-v10 .osca-term-card,
.one-stop-credit-application.osca-v10 .osca-term-card summary,
.one-stop-credit-application.osca-v10 .osca-term-title,
.one-stop-credit-application.osca-v10 .osca-term-summary,
.one-stop-credit-application.osca-v10 .osca-term-body {
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    text-overflow: clip !important;
}

.one-stop-credit-application.osca-v10 .osca-disclosure-heading {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

.one-stop-credit-application.osca-v10 .osca-disclosure-heading h3 {
    color: #ffffff !important;
    line-height: 1.22 !important;
    padding: 2px 0 4px !important;
}

.one-stop-credit-application.osca-v10 .osca-disclosure-heading h3 strong {
    color: #ff313b !important;
}

.one-stop-credit-application.osca-v10 .osca-disclosure-heading p {
    color: #ff7a81 !important;
    line-height: 1.45 !important;
}

.one-stop-credit-application.osca-v10 .osca-disclosure-heading span {
    color: #d8dee8 !important;
    line-height: 1.55 !important;
}

.one-stop-credit-application.osca-v10 .osca-term-title {
    line-height: 1.35 !important;
}

.one-stop-credit-application.osca-v10 .osca-term-summary {
    line-height: 1.5 !important;
}

/* ------------------------------------------------------------
   4. NAVIGATION
   Keep the bottom separator and buttons clear of content.
   ------------------------------------------------------------ */

.one-stop-credit-application.osca-v10 .step-nav {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
}

/* ------------------------------------------------------------
   5. RESPONSIVE
   No negative title margins at any breakpoint.
   ------------------------------------------------------------ */

@media (max-width: 768px) {
    .one-stop-credit-application.osca-v10 .osca-wow-section-title {
        margin: 0 0 20px 0 !important;
        padding: 18px 18px 16px 22px !important;
    }

    .one-stop-credit-application.osca-v10 .osca-wow-section-title h2 {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }

    .one-stop-credit-application.osca-v10 .osca-wow-section-title p {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }
}

@media (max-width: 430px) {
    .one-stop-credit-application.osca-v10 .osca-wow-section-title {
        margin: 0 0 18px 0 !important;
        padding: 17px 15px 15px 19px !important;
    }

    .one-stop-credit-application.osca-v10 .osca-wow-section-title h2 {
        font-size: 20px !important;
    }

    .one-stop-credit-application.osca-v10 .osca-wow-section-title p {
        font-size: 12.5px !important;
    }
}
