@charset "UTF-8";
/* CSS Document */

/* ==================================================
   M&A Markets Design System v1.0
   Typography — Inter
   ================================================== */

@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter/InterVariable.woff2') format('woff2');
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter/InterVariable-Italic.woff2') format('woff2');
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
}

:root,
[data-bs-theme="light"] {
    --ct-font-sans-serif: 'Inter', sans-serif;
    --ct-body-font-family: 'Inter', sans-serif;
    --ct-body-font-size: 1rem;
	
	  /* Official M&A Markets Brand Palette */
    --mna-black: #231F20;
    --mna-grey: #808285;
    --mna-blue: #1B75BC;
    --mna-white: #FFFFFF;
    --mna-light-grey: #E6E7E8;
    --mna-light-blue: #CAE8EE;

    /* Brand Role Mapping */
    --mna-primary: var(--mna-blue);
    --mna-text: var(--mna-black);
    --mna-text-secondary: var(--mna-grey);
    --mna-surface: var(--mna-white);
    --mna-border: var(--mna-light-grey);
    --mna-highlight: var(--mna-light-blue);
}


/* Headings */
h1, .h1 {
    font-size: 2rem;        /* 32px */
    font-weight: 700;
    line-height: 1.25;
}

h2, .h2 {
    font-size: 1.75rem;     /* 28px */
    font-weight: 700;
    line-height: 1.3;
}

h3, .h3 {
    font-size: 1.5rem;      /* 24px */
    font-weight: 600;
    line-height: 1.3;
}

h4, .h4 {
    font-size: 1.375rem;    /* 22px */
    font-weight: 600;
    line-height: 1.35;
}

h5, .h5 {
    font-size: 1.25rem;     /* 20px */
    font-weight: 600;
    line-height: 1.4;
}

h6, .h6 {
    font-size: 1rem;        /* 16px */
    font-weight: 600;
    line-height: 1.4;
}

/* Body typography */
p {
    font-size: 1rem;
    line-height: 1.6;
}

.lead {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.6;
}


small,
.small {
    font-size: 0.875rem;
}

/* Forms */
.form-control,
.form-select,
.form-check-label,
.input-group-text {
    font-size: 1rem;
}

.form-label {
    font-size: 1rem;
    font-weight: 600;
}

.form-text {
    font-size: 0.875rem;
    line-height: 1.5;
}

/* Buttons */
.btn {
    --ct-btn-font-size: 1rem;
    --ct-btn-font-weight: 500;
}


:root,
[data-bs-theme="light"] {
    /* Primary shade and state colours */
    --mna-blue-hover: #17639F;
    --mna-blue-active: #145789;
    --mna-blue-rgb: 27, 117, 188;
    --mna-light-blue-rgb: 202, 232, 238;

    /* Bridge to Hyper / Bootstrap CSS variables */
    --ct-primary: var(--mna-blue);
    --ct-primary-rgb: 27, 117, 188;
    --ct-primary-text-emphasis: #145789;
    --ct-primary-bg-subtle: #CAE8EE;
    --ct-primary-border-subtle: #9ECFDE;
    --ct-link-color: var(--mna-blue);
    --ct-link-color-rgb: 27, 117, 188;
    --ct-link-hover-color: var(--mna-blue-hover);
    --ct-link-hover-color-rgb: 23, 99, 159;
    --ct-focus-ring-color: rgba(27, 117, 188, 0.25);
}


.btn-primary {
    --ct-btn-color: #FFFFFF;
    --ct-btn-bg: #1B75BC;
    --ct-btn-border-color: #1B75BC;
    --ct-btn-hover-color: #FFFFFF;
    --ct-btn-hover-bg: #17639F;
    --ct-btn-hover-border-color: #17639F;
    --ct-btn-focus-shadow-rgb: 27, 117, 188;
    --ct-btn-active-color: #FFFFFF;
    --ct-btn-active-bg: #145789;
    --ct-btn-active-border-color: #145789;
    --ct-btn-disabled-color: #FFFFFF;
    --ct-btn-disabled-bg: #1B75BC;
    --ct-btn-disabled-border-color: #1B75BC;
}

.btn-outline-primary {
    --ct-btn-color: #1B75BC;
    --ct-btn-border-color: #1B75BC;
    --ct-btn-hover-color: #FFFFFF;
    --ct-btn-hover-bg: #1B75BC;
    --ct-btn-hover-border-color: #1B75BC;
    --ct-btn-focus-shadow-rgb: 27, 117, 188;
    --ct-btn-active-color: #FFFFFF;
    --ct-btn-active-bg: #145789;
    --ct-btn-active-border-color: #145789;
    --ct-btn-disabled-color: #1B75BC;
    --ct-btn-disabled-bg: transparent;
    --ct-btn-disabled-border-color: #1B75BC;
}


.btn-link {
    --ct-btn-color: var(--mna-blue);
    --ct-btn-hover-color: var(--mna-blue-hover);
    --ct-btn-active-color: var(--mna-blue-active);
}

/* Selected / active states */
.nav-pills {
    --ct-nav-pills-link-active-bg: #1B75BC;
}

.pagination {
    --ct-pagination-active-bg: #1B75BC;
    --ct-pagination-active-border-color: #1B75BC;
    --ct-pagination-color: #1B75BC;
    --ct-pagination-hover-color: #17639F;
    --ct-pagination-focus-color: #17639F;
}

.list-group {
    --ct-list-group-active-bg: #1B75BC;
    --ct-list-group-active-border-color: #1B75BC;
}

.progress {
    --ct-progress-bar-bg: #1B75BC;
}


.alert-primary {
    --ct-alert-color: #145789;
    --ct-alert-bg: #CAE8EE;
    --ct-alert-border-color: #9ECFDE;
    --ct-alert-link-color: #145789;
}

.list-group-item-primary {
    --ct-list-group-color: #145789;
    --ct-list-group-bg: #CAE8EE;
    --ct-list-group-border-color: #9ECFDE;
    --ct-list-group-action-hover-bg: #9ECFDE;
    --ct-list-group-action-active-bg: #9ECFDE;
    --ct-list-group-active-color: #FFFFFF;
    --ct-list-group-active-bg: #1B75BC;
    --ct-list-group-active-border-color: #1B75BC;
}


.form-check-input:checked,
.form-check-input[type="checkbox"]:indeterminate {
    background-color: var(--mna-blue);
    border-color: var(--mna-blue);
}

.form-range::-webkit-slider-thumb {
    background-color: var(--mna-blue);
}

.form-range::-moz-range-thumb {
    background-color: var(--mna-blue);
}


.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--mna-blue);
    box-shadow: 0 0 0 0.15rem rgba(27, 117, 188, 0.18);
}


.accordion {
    --ct-accordion-active-color: #145789;
    --ct-accordion-active-bg: #CAE8EE;
}



.mna-workflow-shell {
    --ct-card-border-width: 1px;
    --ct-card-border-color: var(--mna-light-grey);
    --ct-card-border-radius: 0.5rem;
    border: 1px solid var(--mna-light-grey);
    box-shadow: 0 6px 26px rgba(35, 31, 32, 0.055);
}

.mna-workflow-intro {
    border-bottom: 1px solid var(--mna-light-grey);
    padding-bottom: 1.5rem;
}

.mna-workflow-eyebrow {
    color: var(--mna-blue);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.mna-workflow-step-label {
    color: var(--mna-grey);
    font-size: 0.875rem;
    font-weight: 500;
}

.mna-workflow-progress {
    display: flex;
    gap: 0.375rem;
    margin-top: 1.25rem;
}

.mna-workflow-progress-segment {
    flex: 1 1 0;
    height: 4px;
    background: var(--mna-light-grey);
    border-radius: 50rem;
}

.mna-workflow-progress-segment.is-active,
.mna-workflow-progress-segment.is-complete {
    background: var(--mna-blue);
}

.mna-form-section {
    --ct-card-border-width: 1px;
    --ct-card-border-color: var(--mna-light-grey);
    --ct-card-border-radius: 0.5rem;
    border: 1px solid var(--mna-light-grey);
    box-shadow: none;
}

.mna-form-section .mna-section-heading h5 {
    color: var(--mna-black);
}

/* ==================================================
   M&A Markets — Section Headings
   ================================================== */

.mna-section-title {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.mna-section-title::before {
    content: "";
    display: block;
    flex: 0 0 4px;
    width: 4px;
    height: 20px;
    background-color: var(--mna-blue);
    border-radius: 4px;
}

.mna-confidentiality-note {
    background: #F1F8FA;
    color: var(--mna-black);
    border: 1px solid var(--mna-light-blue);
    border-radius: 0.5rem;
    padding: 1rem 1.25rem;
}

.mna-confidentiality-note .mdi {
    color: var(--mna-blue);
    font-size: 1.25rem;
    line-height: 1;
}

.mna-confidentiality-note p {
    margin-bottom: 0;
}

.mna-form-actions {
    border-color: var(--mna-light-grey) !important;
}

/* ==================================================
   M&A Markets v1.2 — Reusable multistage wizard
   Used within the seven-step listing workflow.
   ================================================== */

.mna-wizard-progress {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 2rem;
}

.mna-wizard-progress::before {
    content: "";
    position: absolute;
    top: 1.2rem;
    left: 12.5%;
    right: 12.5%;
    height: 2px;
    background: var(--mna-light-grey);
}

.mna-wizard-progress .wizard-progress-button {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    width: 100%;
    padding: 0 .35rem;
    border: 0;
    background: transparent;
    text-align: center;
}

.mna-wizard-progress .wizard-progress-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    border-width: 2px !important;
    background: var(--mna-white);
    box-shadow: 0 0 0 5px var(--mna-white);
    transition: .2s ease;
}

.mna-wizard-progress .wizard-progress-title {
    display: block;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.3;
}

.mna-wizard-progress .wizard-progress-status {
    display: block;
    margin-top: .15rem;
    font-size: .75rem;
    line-height: 1.3;
}

.mna-wizard-section .wizard-section-header {
    white-space: normal;
}

.mna-wizard-section .wizard-section-header .mna-wizard-title {
    font-size: 1.125rem;
    line-height: 1.4;
}

.mna-wizard-section .wizard-section-number {
    min-width: 2.4rem;
    text-align: center;
}

.mna-wizard-section .wizard-section-body {
    border-top: 1px solid var(--mna-light-grey);
}

.mna-wizard-section .selection-box-value {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .mna-wizard-progress {
        grid-template-columns: repeat(4, minmax(76px, 1fr));
        overflow-x: auto;
        padding-bottom: .5rem;
        scrollbar-width: none;
    }
    .mna-wizard-progress::-webkit-scrollbar { display: none; }
    .mna-wizard-progress .wizard-progress-status { display: none; }
    .mna-wizard-progress .wizard-progress-title { font-size: .75rem; }
}
