/* Shared RD / FD calculator layout and editorial content. */

.calculator_field_error {
    display: block;
    min-height: 1.3em;
    color: #a32020;
    font-size: 13px;
    line-height: 1.5;
    margin: 8px 0 0;
}

.rd_report_error {
    color: #a32020;
    margin: 10px 0 0;
}

.calculator_section.calc_content_section {
    padding: 24px 0 40px;
    background: #fff;
}

.faq_section.inner_page.calculator_faq {
    padding-top: 44px !important;
}

/* Personal loan + credit CTAs — not full container width (FD / RD) */
.calc_personal_loan_cta_section,
.calc_credit_cta_section {
    --calc_cta_banner_max: min(900px, 100%);
}

.calc_personal_loan_cta_section {
    padding: 8px 0 28px;
    background: #fff;
}

.calc_personal_loan_cta_section .inline_floating_banner,
.calc_credit_cta_section .inline_floating_banner {
    width: 100%;
    max-width: var(--calc_cta_banner_max);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}

/* Credit score CTA (htdocs inline_floating_banner — above FAQ on FD/RD) */
.calc_credit_cta_section {
    padding: 8px 0 36px;
    background: linear-gradient(180deg, #fff 0%, #f4f7fb 100%);
}

.calc_credit_cta_section .inline_floating_banner_credit {
    background: linear-gradient(135deg, #5C2DCA 0%, #BB3497 100%);
    box-shadow: 0 10px 30px rgba(92, 45, 202, 0.25);
    margin-bottom: 0;
}

.calc_credit_cta_section .inline_floating_banner_credit::before {
    display: none;
}

.calc_credit_cta_section .inline_floating_banner_credit .inline_floating_image img {
    transform: scale(1.15);
}

.calc_credit_cta_section .inline_floating_banner_credit .inline_floating_features li {
    color: #fff;
}

.calc_credit_cta_section .inline_floating_banner_credit .floating-banner-check {
    background: #fff;
    color: #5C2DCA;
}

.calc_credit_cta_section .inline_floating_banner_credit .inline_floating_action .btn_style_one {
    background: #fff;
    color: #5C2DCA;
    border: 2px solid #fff;
    font-weight: 700;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.calc_credit_cta_section .inline_floating_banner_credit .inline_floating_action .btn_style_one::before {
    display: none;
}

.calc_credit_cta_section .inline_floating_banner_credit .inline_floating_action .btn_style_one:hover {
    background: rgba(255, 255, 255, 0.9);
    color: #BB3497;
    border-color: #fff;
}

/* Dynamic editorial HTML — basic typography only (tables styled below) */
.calc_content_section .calc_dynamic_content {
    font-family: var(--secondary-font);
    font-size: 15px;
    line-height: 1.7;
    color: #434a58;
}

.calc_content_section .calc_dynamic_content :is(h2, h3, h4) {
    font-family: var(--primary-font);
    color: #03355a;
    font-weight: 700;
    margin: 1.35em 0 0.5em;
    line-height: 1.35;
}

.calc_content_section .calc_dynamic_content :is(h2, h3, h4):first-child {
    margin-top: 0;
}

.calc_content_section .calc_dynamic_content p {
    margin: 0 0 1em;
}

.calc_content_section .calc_dynamic_content ul,
.calc_content_section .calc_dynamic_content ol {
    margin: 0 0 1em;
    padding-left: 1.35em;
}

.calc_content_section .calc_dynamic_content li {
    margin-bottom: 0.35em;
}

.calc_content_section .calc_dynamic_content a {
    color: #4777f4;
}

/* CMS-authored calculator tables keep the same editorial-table appearance. */
.calc_content_section .calc_dynamic_content figure.table,
.calc_content_section .calc_dynamic_content .table-responsive {
    width: 100%;
    margin: 18px 0 14px;
    border-radius: 18px;
    overflow-x: auto;
    box-shadow: 0 8px 28px rgba(13, 43, 77, 0.08);
}

.calc_content_section .calc_dynamic_content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    font-size: 15px;
    font-family: var(--secondary-font);
}

.calculator_cms_content .calc_dynamic_content table,
.calculator_cms_content .calc_dynamic_content tr,
.calculator_cms_content .calc_dynamic_content th,
.calculator_cms_content .calc_dynamic_content td {
    border: 0 !important;
    border-bottom: 0 !important;
}

.calc_content_section .calc_dynamic_content table thead th {
    background: #0d2b4d;
    color: #fff;
    padding: 18px 20px;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    border: 0;
    vertical-align: middle;
}

.calc_content_section .calc_dynamic_content table thead th:first-child {
    text-align: left;
    padding-left: 24px;
}

.calc_content_section .calc_dynamic_content table tbody td {
    padding: 16px 20px;
    border: 0;
    vertical-align: middle;
    text-align: center;
}

.calc_content_section .calc_dynamic_content table tbody td:first-child {
    text-align: left;
    color: #5a6473;
}

.calc_content_section .calc_dynamic_content table tbody tr:nth-child(odd) { background: #f0f5ff; }
.calc_content_section .calc_dynamic_content table tbody tr:nth-child(even) { background: #fff; }
.calc_content_section .calc_dynamic_content table tbody tr:hover { background: #e8efff; }

/* Lender-comparison style tables (FD / RD content) */
.calc_table_wrap {
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    border: none;
    margin: 18px 0 14px;
    box-shadow: 0 8px 28px rgba(13, 43, 77, 0.08);
}

.calc_content_section .custom_table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    font-size: 15px;
    font-family: var(--secondary-font);
}

.calc_content_section .calc_rates_table thead th,
.calc_content_section .calc_compare_table thead th {
    background: #0d2b4d;
    color: #ffffff;
    padding: 18px 20px;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.02em;
    border: none;
    vertical-align: middle;
    white-space: nowrap;
}

.calc_content_section .calc_rates_table thead th:first-child,
.calc_content_section .calc_compare_table thead th:first-child {
    text-align: left;
    padding-left: 24px;
}

.calc_content_section .calc_rates_table tbody td,
.calc_content_section .calc_compare_table tbody td {
    padding: 16px 20px;
    border: none;
    vertical-align: middle;
}

.calc_content_section .calc_rates_table tbody tr:nth-child(odd),
.calc_content_section .calc_compare_table tbody tr:nth-child(odd) {
    background: #f0f5ff;
}

.calc_content_section .calc_rates_table tbody tr:nth-child(even),
.calc_content_section .calc_compare_table tbody tr:nth-child(even) {
    background: #ffffff;
}

.calc_content_section .calc_rates_table tbody tr:hover,
.calc_content_section .calc_compare_table tbody tr:hover {
    background: #e8efff;
}

/* Bank / lender column */
.calc_content_section .calc_rates_table tbody td:first-child {
    font-weight: 700;
    color: #0d2b4d;
    padding-left: 24px;
    text-align: left;
}

/* Interest rate columns */
.calc_content_section .calc_rates_table tbody td:not(:first-child) {
    text-align: center;
    font-weight: 700;
    color: #4777f4;
}

/* FD vs RD comparison */
.calc_content_section .calc_compare_table tbody td:first-child {
    font-weight: 600;
    color: #5a6473;
    padding-left: 24px;
    text-align: left;
}

.calc_content_section .calc_compare_table tbody td:not(:first-child) {
    text-align: center;
    color: #434a58;
    font-weight: 500;
}

/* FD calculator — interest type select in tool */
.calculator_select_wrap select {
    width: 100%;
    min-height: 54px;
    border: 2px solid #e8ecf1;
    border-radius: 12px;
    padding: 10px 14px;
    font-size: 14px;
    font-family: var(--secondary-font);
    color: #03355a;
    background: #fff;
    font-weight: 600;
}

@media (max-width: 767px) {
    .calc_content_section .calc_rates_table thead th,
    .calc_content_section .calc_compare_table thead th,
    .calc_content_section .calc_rates_table tbody td,
    .calc_content_section .calc_compare_table tbody td {
        padding: 12px 14px;
        font-size: 13px;
    }

    .calc_content_section .calc_rates_table thead th:first-child,
    .calc_content_section .calc_rates_table tbody td:first-child,
    .calc_content_section .calc_compare_table thead th:first-child,
    .calc_content_section .calc_compare_table tbody td:first-child {
        padding-left: 16px;
    }

    .calc_content_section .calc_dynamic_content table thead th,
    .calc_content_section .calc_dynamic_content table tbody td {
        padding: 12px 14px;
        font-size: 13px;
    }
}

/* Shared calculator-page controls and supporting components. */
.calculator_page { overflow-x: clip; }
.calculator_page .main-menu .navigation > li:last-child > ul { left: auto; right: 0; }
.calculator_page .main-menu .navigation > li:last-child ul ul { left: auto; right: 100%; }
.calculator_page .breadcrumb_menu { flex-wrap: wrap; gap: 4px 10px; }
.calculator_page .breadcrumb_menu li { white-space: nowrap; }
.calculator_page .calculator_input_wrapper input { min-width: 0; }
.calculator_page .calculator_range {
    display: block;
    width: 100%;
    height: 8px;
    margin-top: 22px;
    accent-color: #4777f4;
    cursor: pointer;
}
.calculator_page .calculator_range:focus-visible,
.calculator_page a:focus-visible,
.calculator_page button:focus-visible,
.calculator_page summary:focus-visible {
    outline: 3px solid #1746a2;
    outline-offset: 4px;
}
.calculator_page [aria-invalid="true"] { outline: 2px solid #a62020; }
.calculator_page .calculator_chart_description {
    color: #434a58;
    font-size: 13px;
    line-height: 1.6;
    margin-top: 16px;
}
.calculator_page .calculator_status { margin: 12px 0; color: #a62020; }
.calculator_page .calculator_download_btn:disabled { opacity: .55; cursor: not-allowed; }
.calculator_page .calculator_disclaimer { max-width: 760px; margin: 14px auto 0; font-size: 13px; line-height: 1.6; }
.calculator_page .calculator_schedule_section { padding: 0 0 32px; }
.calculator_page .calculator_schedule_section summary { padding: 16px; color: #03355a; font-weight: 700; cursor: pointer; }
.calculator_page .calculator_schedule_table { width: 100%; min-width: 540px; border-collapse: collapse; }
.calculator_page .calculator_schedule_table caption { caption-side: top; padding: 12px; }
.calculator_page .calculator_schedule_table th { background: #03355a; color: #fff; }
.calculator_page .calculator_schedule_table th,
.calculator_page .calculator_schedule_table td { padding: 12px; text-align: right; border-bottom: 1px solid #e8ecf1; white-space: nowrap; }
.calculator_page .calculator_schedule_table th:first-child,
.calculator_page .calculator_schedule_table td:first-child { text-align: left; }
.calculator_page .calculator_faq_list .acc-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 20px;
    text-align: left;
    background: #f4f7fb;
    color: #03355a;
    font-size: 18px;
    font-weight: 700;
    border-radius: 8px;
}
.calculator_page .calculator_faq_list .accordion { margin-bottom: 16px; }
.calculator_page .calculator_faq_list .acc-content { padding: 20px; }
.calculator_page [hidden] { display: none !important; }
