/**
 * custom-dashboard.css
 *
 * Styles for: Login, Register, Forgot Password, Account (all tabs),
 * Checkout, and Checkout Success pages.
 *
 * All selectors are scoped to their specific pages or known wrapper classes
 * to avoid any unintended overrides of the main site styles.
 *
 * Design language: Dark navy (#071B2C / #020d1f) background,
 * Inter font, #1B7CD8 / #4598E6 accent blue — matching the main site.
 */

/* =============================================================
   PAGE WRAPPER — shared wrap used by page.php for UWP + GetPaid
   ============================================================= */

.naidc-page.innr.page-content-wrap,
.naidc-page.innr.getpaid-page-wrap {
    background-color: #f5f7fa;
    padding: 60px 0 80px;
}

.naidc-page.innr.page-content-wrap > .container,
.naidc-page.innr.getpaid-page-wrap > .container {
    max-width: 1200px;
}


/* =============================================================
   UWP CARD — wraps login, register, forgot forms (.card.border-0)
   ============================================================= */

.uwp_form_wrap .card.border-0,
.uwp-form-wrap .card.border-0,
.row > .card.border-0 {
    background: #ffffff;
    border-radius: 12px !important;
    box-shadow: 0 8px 32px rgba(7, 27, 44, 0.10);
    border: 1px solid #e4eaf0 !important;
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
}

.uwp_form_wrap .card.border-0 .card-body,
.uwp-form-wrap .card.border-0 .card-body,
.row > .card.border-0 > .card-body {
    padding: 40px 44px;
}

@media (max-width: 576px) {
    .uwp_form_wrap .card.border-0 .card-body,
    .uwp-form-wrap .card.border-0 .card-body,
    .row > .card.border-0 > .card-body {
        padding: 28px 20px;
    }
}


/* =============================================================
   FORM TITLES (.card-title)
   ============================================================= */

.uwp-login-form ~ * h3.card-title,
.card-body h3.card-title {
    color: #071B2C;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 28px;
    letter-spacing: -0.3px;
}


/* =============================================================
   FORM INPUTS — username, email, password on Login/Register/Forgot
   ============================================================= */

/* AUI generates standard Bootstrap .form-control inputs */
.uwp_form .form-control,
.uwp_form input[type="text"],
.uwp_form input[type="email"],
.uwp_form input[type="password"],
.uwp_form input[type="tel"],
.uwp_form textarea,
.uwp_form select {
    background-color: #f9fafc;
    border: 1.5px solid #d0dae6;
    border-radius: 8px;
    color: #071B2C;
    font-size: 14px;
    font-family: "Inter", sans-serif;
    padding: 11px 14px;
    transition: border-color 0.2s, box-shadow 0.2s;
    height: auto;
}

.uwp_form .form-control:focus,
.uwp_form input[type="text"]:focus,
.uwp_form input[type="email"]:focus,
.uwp_form input[type="password"]:focus,
.uwp_form input[type="tel"]:focus,
.uwp_form textarea:focus,
.uwp_form select:focus {
    border-color: #1B7CD8;
    box-shadow: 0 0 0 3px rgba(27, 124, 216, 0.12);
    outline: none;
    background-color: #fff;
}

.uwp_form label {
    color: #3a5268;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 5px;
    font-family: "Inter", sans-serif;
}


/* =============================================================
   PRIMARY SUBMIT BUTTONS — Login, Register, Forgot Submit
   ============================================================= */

.uwp_form .btn.btn-primary,
.uwp_form button[type="submit"],
.uwp_form input[type="submit"] {
    background: linear-gradient(135deg, #1B7CD8 0%, #4598E6 100%);
    border: none;
    border-radius: 8px;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 13px 24px;
    width: 100%;
    text-transform: uppercase;
    font-family: "Inter", sans-serif;
    transition: opacity 0.2s, transform 0.15s;
    cursor: pointer;
    margin-top: 6px;
}

.uwp_form .btn.btn-primary:hover,
.uwp_form button[type="submit"]:hover,
.uwp_form input[type="submit"]:hover {
    opacity: 0.90;
    transform: translateY(-1px);
}


/* =============================================================
   FOOTER LINKS — Register Link, Forgot Password Link
   ============================================================= */

.uwp-footer-links {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}

.uwp-footer-link a,
.uwp-footer-links a {
    color: #1B7CD8 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    font-family: "Inter", sans-serif !important;
    transition: color 0.2s;
}

.uwp-footer-link a:hover,
.uwp-footer-links a:hover {
    color: #4598E6 !important;
    text-decoration: underline !important;
}

/* remember me checkbox area */
.uwp-remember-me {
    margin-bottom: 16px;
}

.uwp-remember-me label {
    font-size: 13px;
    color: #5a7491;
}


/* =============================================================
   ACCOUNT PAGE — sidebar + content layout
   ============================================================= */

/* The UWP account template uses .container > .row > col-lg-3 + col-lg-9 */

/* Sidebar panel */
.uwp_form_wrap .col-lg-3 .bg-light,
.uwp-form-wrap .col-lg-3 .bg-light,
.naidc-page .col-lg-3 .bg-light {
    background: #ffffff !important;
    border-right: 1px solid #e4eaf0;
    border-radius: 12px 0 0 12px;
    min-height: 500px;
    padding: 30px 0 !important;
}

/* User avatar area */
.naidc-page .col-lg-3 .d-flex.justify-content-center.flex-column {
    padding: 0 20px 20px;
}

.naidc-page .col-lg-3 .d-flex.justify-content-center.flex-column a {
    color: #071B2C !important;
    font-weight: 700;
    font-size: 15px;
    font-family: "Inter", sans-serif;
}

/* Sidebar navigation menu */
.naidc-page .col-lg-3 .nav {
    flex-direction: column;
    width: 100%;
}

.naidc-page .col-lg-3 .nav a,
.naidc-page .col-lg-3 .nav .nav-link {
    color: #3a5268 !important;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 11px 24px;
    border-radius: 0;
    border-left: 3px solid transparent;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    text-decoration: none !important;
    display: block;
    width: 100%;
}

.naidc-page .col-lg-3 .nav a:hover,
.naidc-page .col-lg-3 .nav .nav-link:hover {
    background: #f0f6ff;
    border-left-color: #1B7CD8;
    color: #1B7CD8 !important;
}

.naidc-page .col-lg-3 .nav a.active,
.naidc-page .col-lg-3 .nav .nav-link.active {
    background: #e8f2ff;
    border-left-color: #1B7CD8;
    color: #1B7CD8 !important;
    font-weight: 700;
}

/* Right content panel */
.naidc-page .col-lg-9 .pl-lg-4 {
    padding: 30px 30px 30px 40px;
    background: #fff;
    border-radius: 0 12px 12px 0;
    min-height: 500px;
    border: 1px solid #e4eaf0;
    border-left: none;
}

.naidc-page .col-lg-9 h3.mb-lg-5 {
    color: #071B2C;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 28px;
    font-family: "Inter", sans-serif;
    border-bottom: 1px solid #e4eaf0;
    padding-bottom: 16px;
}

/* Account form inputs (reuse UWP form scoping) */
.naidc-page .col-lg-9 .form-control {
    background-color: #f9fafc;
    border: 1.5px solid #d0dae6;
    border-radius: 8px;
    color: #071B2C;
    font-size: 14px;
    font-family: "Inter", sans-serif;
    padding: 11px 14px;
    height: auto;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.naidc-page .col-lg-9 .form-control:focus {
    border-color: #1B7CD8;
    box-shadow: 0 0 0 3px rgba(27, 124, 216, 0.12);
    outline: none;
    background-color: #fff;
}

.naidc-page .col-lg-9 label {
    color: #3a5268;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 5px;
    font-family: "Inter", sans-serif;
}

.naidc-page .col-lg-9 .btn.btn-primary {
    background: linear-gradient(135deg, #1B7CD8 0%, #4598E6 100%);
    border: none;
    border-radius: 8px;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    padding: 12px 32px;
    font-family: "Inter", sans-serif;
    transition: opacity 0.2s, transform 0.15s;
}

.naidc-page .col-lg-9 .btn.btn-primary:hover {
    opacity: 0.90;
    transform: translateY(-1px);
}

/* Surround both sidebar+content with a shared card shell */
.naidc-page > .container > .container.h-100 > .row.h-100 {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(7, 27, 44, 0.10);
    border: 1px solid #e4eaf0;
    overflow: hidden;
}


/* =============================================================
   CHECKOUT (GetPaid) — .getpaid-page-wrap
   ============================================================= */

.getpaid-page-wrap {
    background-color: #f5f7fa;
}

/* Main checkout card */
.getpaid-page-wrap .wpinv-checkout,
.getpaid-page-wrap .wpi-checkout-form,
.getpaid-page-wrap .getpaid-form {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(7, 27, 44, 0.10);
    border: 1px solid #e4eaf0;
    padding: 36px 40px;
    max-width: 820px;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .getpaid-page-wrap .wpinv-checkout,
    .getpaid-page-wrap .wpi-checkout-form,
    .getpaid-page-wrap .getpaid-form {
        padding: 24px 18px;
    }
}

/* Checkout headings */
.getpaid-page-wrap h2,
.getpaid-page-wrap h3 {
    color: #071B2C;
    font-family: "Inter", sans-serif;
    font-weight: 700;
}

/* Checkout inputs */
.getpaid-page-wrap .form-control,
.getpaid-page-wrap input[type="text"],
.getpaid-page-wrap input[type="email"],
.getpaid-page-wrap select,
.getpaid-page-wrap textarea {
    background-color: #f9fafc;
    border: 1.5px solid #d0dae6;
    border-radius: 8px;
    color: #071B2C;
    font-size: 14px;
    font-family: "Inter", sans-serif;
    padding: 11px 14px;
    height: auto;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.getpaid-page-wrap .form-control:focus,
.getpaid-page-wrap input[type="text"]:focus,
.getpaid-page-wrap input[type="email"]:focus,
.getpaid-page-wrap select:focus,
.getpaid-page-wrap textarea:focus {
    border-color: #1B7CD8;
    box-shadow: 0 0 0 3px rgba(27, 124, 216, 0.12);
    outline: none;
    background-color: #fff;
}

.getpaid-page-wrap label {
    color: #3a5268;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 5px;
    font-family: "Inter", sans-serif;
}

/* Checkout primary button */
.getpaid-page-wrap .btn-primary,
.getpaid-page-wrap input[type="submit"],
.getpaid-page-wrap button[type="submit"] {
    background: linear-gradient(135deg, #1B7CD8 0%, #4598E6 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 13px 32px !important;
    font-family: "Inter", sans-serif !important;
    transition: opacity 0.2s, transform 0.15s !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.getpaid-page-wrap .btn-primary:hover,
.getpaid-page-wrap input[type="submit"]:hover,
.getpaid-page-wrap button[type="submit"]:hover {
    opacity: 0.90 !important;
    transform: translateY(-1px) !important;
}

/* Order summary / totals table */
.getpaid-page-wrap table,
.getpaid-page-wrap .wpi-summary-table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Inter", sans-serif;
    font-size: 14px;
}

.getpaid-page-wrap table th,
.getpaid-page-wrap table td {
    padding: 10px 14px;
    border-bottom: 1px solid #e4eaf0;
    color: #071B2C;
}

.getpaid-page-wrap table th {
    background: #f0f6ff;
    font-weight: 700;
    color: #3a5268;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
}

/* Total row */
.getpaid-page-wrap table tfoot td,
.getpaid-page-wrap .wpi-total {
    font-weight: 700;
    font-size: 16px;
    color: #071B2C;
}


/* =============================================================
   CHECKOUT SUCCESS — success receipt page
   ============================================================= */

.getpaid-page-wrap .wpinv-receipt,
.getpaid-page-wrap .wpi-receipt,
.getpaid-page-wrap .getpaid-receipt {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(7, 27, 44, 0.10);
    border: 1px solid #e4eaf0;
    padding: 48px 40px;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

/* Success icon / heading */
.getpaid-page-wrap .wpinv-receipt h2,
.getpaid-page-wrap .wpi-receipt h2,
.getpaid-page-wrap .getpaid-receipt h2 {
    color: #1B7CD8;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 12px;
}

.getpaid-page-wrap .wpinv-receipt p,
.getpaid-page-wrap .wpi-receipt p,
.getpaid-page-wrap .getpaid-receipt p {
    color: #3a5268;
    font-size: 15px;
    line-height: 1.7;
    font-family: "Inter", sans-serif;
}

/* Success "View Invoice" / "Go to Dashboard" links */
.getpaid-page-wrap .wpinv-receipt a,
.getpaid-page-wrap .wpi-receipt a,
.getpaid-page-wrap .getpaid-receipt a {
    color: #1B7CD8;
    text-decoration: underline;
    font-weight: 600;
}




.naidc-page .uwp_message,
.naidc-page .uwp-notice,
.naidc-page .wpi-alert,
.getpaid-page-wrap .wpi-alert {
    border-radius: 8px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    margin-bottom: 18px;
}

/* Error state */
.naidc-page .uwp_message.error,
.naidc-page .alert-danger,
.getpaid-page-wrap .alert-danger {
    background: #fff0f0;
    border: 1px solid #f5c6c6;
    color: #b83232;
}

/* Success state */
.naidc-page .uwp_message.success,
.naidc-page .alert-success,
.getpaid-page-wrap .alert-success {
    background: #f0faf4;
    border: 1px solid #c3e6cb;
    color: #1a6632;
}


/* =============================================================
   GETPAID EMBED FORM (#getpaid-form-embed)
   Scoped to the embed checkout and its inner payment form.
   ============================================================= */

#getpaid-form-embed {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(7, 27, 44, 0.10);
    border: 1px solid #e4eaf0;
    padding: 36px 40px;
    max-width: 820px;
    margin: 0 auto;
    font-family: "Inter", sans-serif;
}

@media (max-width: 768px) {
    #getpaid-form-embed {
        padding: 24px 18px;
    }
}

/* Form section headings */
#getpaid-form-embed h2,
#getpaid-form-embed h3,
#getpaid-form-embed .getpaid-form-section-header {
    color: #071B2C;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e4eaf0;
    font-family: "Inter", sans-serif;
}

/* All inputs inside the embed form */
#getpaid-form-embed input[type="text"],
#getpaid-form-embed input[type="email"],
#getpaid-form-embed input[type="tel"],
#getpaid-form-embed input[type="number"],
#getpaid-form-embed input[type="password"],
#getpaid-form-embed select,
#getpaid-form-embed textarea,
#getpaid-form-embed .form-control {
    background-color: #f9fafc !important;
    border: 1.5px solid #d0dae6 !important;
    border-radius: 8px !important;
    color: #071B2C !important;
    font-size: 14px !important;
    font-family: "Inter", sans-serif !important;
    padding: 11px 14px !important;
    height: auto !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
    box-sizing: border-box;
}

#getpaid-form-embed input[type="text"]:focus,
#getpaid-form-embed input[type="email"]:focus,
#getpaid-form-embed input[type="tel"]:focus,
#getpaid-form-embed input[type="number"]:focus,
#getpaid-form-embed input[type="password"]:focus,
#getpaid-form-embed select:focus,
#getpaid-form-embed textarea:focus,
#getpaid-form-embed .form-control:focus {
    border-color: #1B7CD8 !important;
    box-shadow: 0 0 0 3px rgba(27, 124, 216, 0.12) !important;
    outline: none !important;
    background-color: #fff !important;
}

/* Labels */
#getpaid-form-embed label {
    color: #3a5268;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 5px;
    font-family: "Inter", sans-serif;
    display: block;
}

/* Form groups / rows */
#getpaid-form-embed .form-group,
#getpaid-form-embed .getpaid-form-element-wrapper {
    margin-bottom: 18px;
}

/* Items / pricing table */
#getpaid-form-embed table,
#getpaid-form-embed .getpaid-items-table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    margin-bottom: 20px;
}

#getpaid-form-embed table th,
#getpaid-form-embed table td {
    padding: 10px 14px;
    border-bottom: 1px solid #e4eaf0;
    color: #071B2C;
    text-align: left;
}

#getpaid-form-embed table th {
    background: #f0f6ff;
    font-weight: 700;
    color: #3a5268;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: 0.5px;
}

#getpaid-form-embed table tfoot tr:last-child td {
    font-weight: 700;
    font-size: 16px;
    color: #071B2C;
    border-top: 2px solid #1B7CD8;
}

/* Pay / Submit button */
#getpaid-form-embed .getpaid-pay-button,
#getpaid-form-embed button[type="submit"],
#getpaid-form-embed input[type="submit"],
#getpaid-form-embed .btn-primary {
    background: linear-gradient(135deg, #1B7CD8 0%, #4598E6 100%) !important;
    border: none !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 14px 36px !important;
    font-family: "Inter", sans-serif !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: opacity 0.2s, transform 0.15s !important;
    width: 100%;
    margin-top: 10px;
}

#getpaid-form-embed .getpaid-pay-button:hover,
#getpaid-form-embed button[type="submit"]:hover,
#getpaid-form-embed input[type="submit"]:hover,
#getpaid-form-embed .btn-primary:hover {
    opacity: 0.90 !important;
    transform: translateY(-1px) !important;
}

/* Gateway selector (payment method radio/card) */
#getpaid-form-embed .getpaid-gateway-option,
#getpaid-form-embed .wpinv-gateway-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1.5px solid #d0dae6;
    border-radius: 8px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: #071B2C;
}

#getpaid-form-embed .getpaid-gateway-option:hover,
#getpaid-form-embed .wpinv-gateway-option:hover {
    border-color: #1B7CD8;
    background: #f0f6ff;
}

/* Discount code field area */
#getpaid-form-embed .getpaid-discount-field {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

#getpaid-form-embed .getpaid-discount-field .btn {
    border-radius: 8px;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 11px 20px;
    white-space: nowrap;
}

/* Alerts inside the embed form */
#getpaid-form-embed .alert,
#getpaid-form-embed .wpi-alert {
    border-radius: 8px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    margin-bottom: 16px;
    padding: 12px 16px;
}

#getpaid-form-embed .alert-danger,
#getpaid-form-embed .alert-error {
    background: #fff0f0;
    border: 1px solid #f5c6c6;
    color: #b83232;
}

#getpaid-form-embed .alert-success {
    background: #f0faf4;
    border: 1px solid #c3e6cb;
    color: #1a6632;
}

/* Receipt / success screen inside embed */
#getpaid-form-embed .getpaid-receipt,
#getpaid-form-embed .wpinv-receipt {
    text-align: center;
    padding: 20px 0;
}

#getpaid-form-embed .getpaid-receipt h2,
#getpaid-form-embed .wpinv-receipt h2 {
    color: #1B7CD8;
    font-size: 24px;
    border-bottom: none;
}

#getpaid-form-embed .getpaid-receipt p,
#getpaid-form-embed .wpinv-receipt p {
    color: #3a5268;
    font-size: 15px;
    line-height: 1.7;
}

