/* CodeOptix Partner Form – Clean, Consistent & Minimal (Bootstrap 5.3) */

.co-form-container {
    --co-primary:   #002e5b;
    --co-accent:    #0d6efd;
    --co-border:    #dee2e6;
    --co-light-bg:  #f8f9fa;
    --co-radius:    0.375rem;

    padding: 1.5rem 0;
    font-family: inherit;
}

/* Main wrapper */
.co-form-container .wrapper {
    background: #ffffff;
    border: 1px solid var(--co-border);
    border-radius: var(--co-radius);
    padding: 1.75rem;
}

/* Sections */
.co-form-container .section {
    margin-bottom: 2.5rem;
}

.co-form-container .section h5 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--co-primary);
    margin-bottom: 1.25rem;
    padding-bottom: 0.5rem;
}
.partner-banner {
    height: 500px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}

.banner-overlay {
    background: linear-gradient(to right, rgba(0,0,0,0.7) 30%, rgba(0,0,0,0) 100%);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.banner-content-left {
    max-width: 600px;
    color: #fff;
    padding: 0 20px;
}

.banner-title {
    font-size: 3.5rem;
    margin-bottom: 15px;
    line-height: 1.1;
}

.banner-subtext {
    font-size: 1.25rem;
    line-height: 1.6;
}

/* Section below banner */
.partner-main-layout {
    max-width: 1000px;
    margin: 50px auto;
    padding: 0 20px;
}

.process-info-box {
    margin-top: 40px;
    padding: 30px;
    background: #f9f9f9;
    border-left: 5px solid #000; /* Accentuates the text */
    font-size: 1.1rem;
    line-height: 1.8;
    color: #444;
}

@media (max-width: 768px) {
    .banner-title { font-size: 2.2rem; }
    .banner-overlay { background: rgba(0,0,0,0.5); } /* Full dark on mobile for legibility */
}
/* Uniform boxed areas (addresses, authorised users, documents) */
.co-form-container .border.rounded.p-3.bg-light,
.co-form-container .authorised-user-block {
    border: 1px solid var(--co-border);
    border-radius: var(--co-radius);
    padding: 1.25rem;
    background: var(--co-light-bg);
    margin-bottom: 1.25rem;
}

/* Form floating inputs */
.co-form-container .form-floating > .form-control,
.co-form-container .form-floating > .form-select {
    border: 1px solid #ced4da;
    border-radius: var(--co-radius);
    height: calc(3.5rem + 2px);
    padding: 1rem 0.75rem;
}

.co-form-container .form-floating > label {
    color: #6c757d;
    padding: 1rem 0.75rem;
}

/* Required asterisk */
.co-form-container .req::after {
    content: " *";
    color: #dc3545;
    font-weight: bold;
}

/* Checkboxes – clean, larger, better spacing */
.form-check {
    display: flex;
    align-items: center;
    margin-bottom: 0.75rem;
    padding-left: 0;
}

.form-check-input {
    width: 1.4em;
    height: 1.4em;
    margin-right: 0.75rem;
    margin-top: 0;
    flex-shrink: 0;
    border: 1.5px solid #adb5bd;
    border-radius: 0.25rem;
    cursor: pointer;
}

.form-check-input:checked {
    background-color: var(--co-primary);
    border-color: var(--co-primary);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.form-check-label {
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    line-height: 1.4;
}

.form-check:hover .form-check-input {
    border-color: var(--co-accent);
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);
}

/* File inputs & buttons */
.co-form-container input[type="file"].form-control {
    padding: 0.5rem;
}

.co-form-container .btn-outline-secondary.btn-sm {
    color: var(--brand-navy) !important;
    font-weight: bold;
    font-size: 16px;
    border: 1px solid #cfb26c !important;
}
.co-form-container .btn-outline-secondary.btn-sm:hover {
    background: transparent !important;
    border: 1px solid #cfb26c !important;
}
button.btn.btn-outline-primary.btn-sm {
    font-size: 16px;
    color: var(--co-primary);
    border: 1px solid #cfb26c !important;
}
.fw-bold.mb-3.text-primary, .fw-bold.mb-3.text-muted, label.form-label.fw-semibold.mb-2 {
    color: var(--brand-gold) !important;
}
button.btn.btn-primary.btn-lg.px-5 {
    color: var(--brand-navy) !important;
    font-weight: bold;
    font-size: 16px;
    border: 1px solid #cfb26c !important;
    background: transparent;
    padding: 10px !important;
}
/* Main submit button */
.co-form-container .btn-primary {
    padding: 0.75rem 2rem;
    font-weight: 500;
}

/* Responsive */
@media (max-width: 576px) {
    .co-form-container .wrapper {
        padding: 1.25rem;
    }
    .co-form-container .section {
        margin-bottom: 2rem;
    }
    .co-form-container .section h5 {
        font-size: 1.15rem;
    }
}