/**
 * MemberPress Account Page - Lantern Theme Overrides
 *
 * Applied only on the account page so the UI uses theme colors (teal/grey),
 * typography, and components. Works with both default and ReadyLaunch account layout.
 */

/* ==========================================================================
   Page layout & spacing (title, content rhythm)
   ========================================================================== */

/* Same vertical spacing above headline as Dashboard / other pages with a title */
.site-content .container {
    padding-top: var(--spacing-xl) !important;
}

/* Tighter, consistent spacing: title → nav → content */
.site-content .entry-title,
.site-content .page-title {
    margin-bottom: var(--spacing-md) !important;
}

.site-content .mp_wrapper {
    margin-top: 0;
    padding-top: 0;
}

/* First .mp_wrapper (nav only): minimal bottom margin so nav and table feel connected */
.entry-content > .mp_wrapper:first-of-type {
    margin-bottom: var(--spacing-md) !important;
}
.site-content .mp_wrapper:has(#mepr-account-nav) {
    margin-bottom: var(--spacing-md) !important;
}

/* Second .mp_wrapper (subscriptions/payments content): no extra top margin, use full width */
.entry-content > .mp_wrapper:last-of-type {
    margin-top: 0 !important;
    width: 100%;
}
.site-content .mp_wrapper:has(.mepr-account-table),
.site-content .mp_wrapper:has(#mepr-account-subscriptions-table) {
    margin-top: 0 !important;
    width: 100%;
}

/* ==========================================================================
   Tab bar (default layout: horizontal tabs under page title)
   ========================================================================== */

/* Default layout: horizontal tab bar with clear active state */
.mp_wrapper > #mepr-account-nav {
    background: transparent !important;
    border-right: none !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    margin-bottom: 0 !important;
    padding-bottom: var(--spacing-md) !important;
}

.mp_wrapper #mepr-account-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.25rem;
    align-items: center;
}

.mp_wrapper #mepr-account-nav li {
    display: inline-block;
}

.mp_wrapper #mepr-account-nav li a {
    display: inline-block;
    padding: 0.5rem 1rem !important;
    border-radius: var(--radius-md) !important;
    color: var(--color-text-light) !important;
    font-weight: 500 !important;
    font-size: var(--font-size-sm) !important;
    transition: color var(--transition-base), background var(--transition-base) !important;
}

.mp_wrapper #mepr-account-nav li a:hover {
    color: var(--color-primary) !important;
    background: var(--color-primary-alpha-10) !important;
}

.mp_wrapper #mepr-account-nav li.mepr-active-nav-tab a {
    color: var(--color-primary) !important;
    background: var(--color-primary-alpha-10) !important;
    font-weight: 600 !important;
}

/* ReadyLaunch sidebar nav – keep grey when present */
.mepr-account-container #mepr-account-nav {
    background: var(--color-bg-alt) !important;
    border-right: 1px solid var(--color-border-light) !important;
}

#mepr-account-nav .mepr-nav-item a {
    color: var(--color-text) !important;
}

#mepr-account-nav .mepr-nav-item a:hover {
    color: var(--color-primary) !important;
    background: var(--color-primary-alpha-10) !important;
}

#mepr-account-nav .mepr-nav-item.--active a,
#mepr-account-nav .mepr-nav-item.mepr-active-nav-tab a {
    background: var(--color-primary-alpha-10) !important;
    color: var(--color-primary) !important;
    font-weight: 600;
}

#mepr-account-nav li a {
    color: var(--color-text) !important;
}
#mepr-account-nav li a:hover,
#mepr-account-nav li.mepr-active-nav-tab a {
    color: var(--color-primary) !important;
}

/* ==========================================================================
   Typography & base (theme fonts and colors – no blue)
   ========================================================================== */

/* Default account layout (.mp_wrapper) */
.site-content .mp_wrapper,
.site-content .mp_wrapper button,
.site-content .mp_wrapper input,
.site-content .mp_wrapper select,
.site-content .mp_wrapper textarea,
.mepr-account-container,
.mepr-account-container button,
.mepr-account-container input,
.mepr-account-container select,
.mepr-account-container optgroup,
.mepr-account-container textarea {
    color: var(--color-text) !important;
    font-family: var(--font-family-body) !important;
    font-size: var(--font-size-base) !important;
    line-height: var(--line-height-base) !important;
}

.mepr-account-container h1,
.mepr-account-container h2,
.mepr-account-container h3,
.mepr-account-container h4,
.mepr-account-container h5,
.mepr-account-container h6 {
    font-family: var(--font-family-display) !important;
    color: var(--color-text) !important;
}

.mepr-account-container .mepr_page_header {
    font-family: var(--font-family-display) !important;
    font-weight: 700;
    color: var(--color-text) !important;
    margin-bottom: var(--spacing-md);
}

.site-content .mp_wrapper a,
.mepr-account-container a {
    color: var(--color-primary) !important;
}

.site-content .mp_wrapper a:hover,
.site-content .mp_wrapper a:focus,
.mepr-account-container a:hover,
.mepr-account-container a:focus,
.mepr-account-container a:active {
    color: var(--color-primary-dark) !important;
}

/* Profile form: constrained width, comfortable spacing */
.site-content .mp_wrapper .mepr-account-form {
    max-width: 36rem;
    margin-top: 0;
}

.site-content .mp_wrapper .mp-form-row {
    margin-bottom: var(--spacing-md) !important;
}

.site-content .mp_wrapper .mp-form-label,
.site-content .mp_wrapper .mp-form-label label {
    display: block;
    margin-bottom: var(--spacing-xs) !important;
}

.site-content .mp_wrapper .mepr-form-input,
.site-content .mp_wrapper input[type="text"],
.site-content .mp_wrapper input[type="email"] {
    padding: 0.625rem 0.875rem !important;
    margin-top: 0.25rem !important;
    width: 100%;
}

.site-content .mp_wrapper .mepr-submit,
.site-content .mp_wrapper input[type="submit"].mepr-submit {
    margin-top: var(--spacing-lg) !important;
    margin-bottom: 0 !important;
    padding: 0.875rem 1.75rem !important;
}

.site-content .mp_wrapper .mepr-account-change-password {
    display: block;
    margin-top: var(--spacing-md) !important;
}

.site-content .mp_wrapper .mepr-account-change-password a {
    color: var(--color-primary) !important;
}

/* Force theme primary on buttons (override any MemberPress blue) */
.site-content .mp_wrapper input[type="submit"],
.site-content .mp_wrapper input[type="button"],
.site-content .mp_wrapper .mepr-button,
.site-content .mp_wrapper button.mepr-button {
    background-color: var(--color-primary) !important;
    color: var(--color-text-white) !important;
    border-color: var(--color-primary) !important;
}
.site-content .mp_wrapper input[type="submit"]:hover,
.site-content .mp_wrapper .mepr-button:hover {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
}

/* ==========================================================================
   Welcome / user message (theme notice-success style)
   ========================================================================== */

/* Hide the account welcome message box (not used in onboarding). */
#mepr-account-welcome-message,
.mepr-account-container .mepr-account-welcome-message,
.mepr-account-message.mepr-account-welcome-message {
    display: none !important;
}

#mepr-account-user-message,
.mepr-account-container .mepr-account-user-message {
    background-color: #fff3cd !important;
    border: 1px solid var(--color-warning) !important;
    color: #856404 !important;
    border-radius: var(--radius-md) !important;
    border-left: 4px solid var(--color-warning);
    margin-bottom: var(--spacing-lg) !important;
    padding: var(--spacing-md) var(--spacing-lg) !important;
}

/* ==========================================================================
   Profile card (theme card style)
   ========================================================================== */

.mepr-profile-wrapper > div,
#mepr-profile-details {
    border: 2px solid var(--color-border) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-sm) !important;
    padding: var(--spacing-md) !important;
    background-color: var(--color-bg) !important;
}

.mepr-profile-wrapper > div:hover,
#mepr-profile-details:hover {
    box-shadow: var(--shadow-md) !important;
}

#mepr-profile-details dt {
    color: var(--color-text-light) !important;
    font-family: var(--font-family-body) !important;
}

#mepr-profile-details dd {
    color: var(--color-text) !important;
    font-family: var(--font-family-body) !important;
}

.mepr-profile-wrapper__footer {
    border-top: 1px solid var(--color-border-light) !important;
    padding-top: var(--spacing-md) !important;
}

/* Edit (pencil) button - theme link color */
.mepr-account-container button.btn-link,
.mepr-account-container .mepr-button.btn-link {
    color: var(--color-primary) !important;
    background-color: transparent !important;
    border: 0 !important;
}

.mepr-profile-details__button:focus svg,
.mepr-profile-details__button:focus path,
.mepr-profile-details__button:hover svg,
.mepr-profile-details__button:hover path {
    fill: var(--color-primary) !important;
}

#mepr-profile-details .mepr-profile-details__button:focus-visible {
    outline: 2px dashed var(--color-primary) !important;
}

/* ==========================================================================
   Buttons (theme primary and outline)
   ========================================================================== */

.mepr-account-container .mepr-button.btn-outline,
.mepr-account-container button.mepr-button.btn-outline,
.mepr-account-container .mepr-profile-wrapper__footer .mepr-button {
    background: transparent !important;
    color: var(--color-primary) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.875rem 1.75rem !important;
    font-family: var(--font-family-body) !important;
    font-weight: 600 !important;
    transition: all var(--transition-base) !important;
    box-shadow: var(--shadow-sm) !important;
}

.mepr-account-container .mepr-button.btn-outline:hover,
.mepr-account-container .mepr-profile-wrapper__footer .mepr-button:hover {
    background: var(--color-primary) !important;
    color: var(--color-text-white) !important;
    border-color: var(--color-primary) !important;
    box-shadow: var(--shadow-md) !important;
}

.mepr-account-container .btn-primary,
.mepr-account-container input[type="submit"].btn-primary,
.mepr_modal .mepr_modal_form input[type="submit"].btn-primary {
    background-color: var(--color-primary) !important;
    color: var(--color-text-white) !important;
    border: 2px solid var(--color-primary) !important;
    border-radius: var(--radius-md) !important;
    padding: 0.875rem 1.75rem !important;
    font-family: var(--font-family-body) !important;
    font-weight: 600 !important;
}

.mepr-account-container .btn-primary:hover,
.mepr_modal .mepr_modal_form input[type="submit"].btn-primary:hover {
    background-color: var(--color-primary-dark) !important;
    border-color: var(--color-primary-dark) !important;
}

/* Row action links in tables */
.mepr-account-container #mepr-account-content button.mepr-account-row-action {
    color: var(--color-primary) !important;
}

/* ==========================================================================
   Forms & modal (inputs, focus, modal box)
   ========================================================================== */

.site-content .mp_wrapper .mepr-form-input,
.site-content .mp_wrapper input[type="text"],
.site-content .mp_wrapper input[type="email"],
.site-content .mp_wrapper select,
.mepr-account-container .mepr-form input[type="text"],
.mepr-account-container .mepr-form input[type="email"],
.mepr-account-container .mepr-form input[type="password"],
.mepr-account-container .mepr-form input[type="tel"],
.mepr-account-container .mepr-form input[type="url"],
.mepr-account-container .mepr-form select,
.mepr-account-container .mepr-form textarea,
.mepr_modal .mepr_modal_form input[type="text"],
.mepr_modal .mepr_modal_form input[type="email"],
.mepr_modal .mepr_modal_form input[type="tel"],
.mepr_modal .mepr_modal_form select {
    border: 1px solid var(--color-border) !important;
    border-radius: var(--radius-md) !important;
    color: var(--color-text) !important;
    font-family: var(--font-family-body) !important;
    box-shadow: var(--shadow-sm) !important;
}

.site-content .mp_wrapper .mepr-form-input:focus,
.site-content .mp_wrapper input:focus,
.site-content .mp_wrapper select:focus,
.mepr-account-container .mepr-form input:focus,
.mepr-account-container .mepr-form select:focus,
.mepr-account-container .mepr-form textarea:focus,
.mepr_modal .mepr_modal_form input[type="text"]:focus-visible,
.mepr_modal .mepr_modal_form input[type="email"]:focus-visible,
.mepr_modal .mepr_modal_form input[type="tel"]:focus-visible,
.mepr_modal .mepr_modal_form select:focus-visible {
    border-color: var(--color-primary) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px var(--color-primary-alpha-10) !important;
}

.mepr_modal .mepr_modal_form input[type="checkbox"]:focus-visible {
    box-shadow: 0 0 0 2px var(--color-primary) !important;
}

.mepr_modal .mepr_modal__box {
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-lg) !important;
    border: 1px solid var(--color-border-light) !important;
}

.mepr_modal button.mepr_modal__close {
    color: var(--color-text-light) !important;
}

.mepr_modal button.mepr_modal__close:hover {
    color: var(--color-primary) !important;
}

/* ==========================================================================
   Tables (Payments / Subscriptions)
   ========================================================================== */

/* Default account table (subscriptions): balanced columns, comfortable padding */
.site-content .mp_wrapper table.mepr-account-table,
.site-content .mp_wrapper #mepr-account-subscriptions-table {
    table-layout: fixed;
    width: 100% !important;
}

.site-content .mp_wrapper table.mepr-account-table thead th:nth-child(1),
.site-content #mepr-account-subscriptions-table thead th:nth-child(1) { width: 18%; }   /* Membership */
.site-content .mp_wrapper table.mepr-account-table thead th:nth-child(2),
.site-content #mepr-account-subscriptions-table thead th:nth-child(2) { width: 14%; }   /* Subscription */
.site-content .mp_wrapper table.mepr-account-table thead th:nth-child(3),
.site-content #mepr-account-subscriptions-table thead th:nth-child(3) { width: 10%; }   /* Active */
.site-content .mp_wrapper table.mepr-account-table thead th:nth-child(4),
.site-content #mepr-account-subscriptions-table thead th:nth-child(4) { width: 14%; }   /* Created */
.site-content .mp_wrapper table.mepr-account-table thead th:nth-child(5),
.site-content #mepr-account-subscriptions-table thead th:nth-child(5) { width: 12%; }   /* Card Exp. */
.site-content .mp_wrapper table.mepr-account-table thead th:nth-child(6),
.site-content #mepr-account-subscriptions-table thead th:nth-child(6) { width: 18%; }   /* Actions */

.site-content .mp_wrapper table.mepr-account-table th,
.site-content .mp_wrapper table.mepr-account-table td,
.site-content #mepr-account-subscriptions-table th,
.site-content #mepr-account-subscriptions-table td {
    padding: 0.75rem 1rem !important;
    vertical-align: middle;
}

/* Action links: comfortable vertical spacing between Update / Cancel */
.site-content .mp_wrapper table.mepr-account-table .mepr-account-actions,
.site-content #mepr-account-subscriptions-table .mepr-account-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
}

.site-content .mp_wrapper table.mepr-account-table .mepr-account-actions a,
.site-content #mepr-account-subscriptions-table .mepr-account-actions a {
    display: inline-block;
}

.mepr-account-container .mepr-pro-account-table thead th {
    color: var(--color-text-light) !important;
    font-family: var(--font-family-body) !important;
    border-bottom-color: var(--color-border) !important;
}

.mepr-account-container .mepr-pro-account-table__product,
.mepr-account-container .mepr-pro-account-table__created_at {
    color: var(--color-text) !important;
    font-family: var(--font-family-body) !important;
}

.mepr-account-container .mepr-pro-account-table__subscr,
.mepr-account-container .mepr-pro-account-table__rebill,
.mepr-account-container .mepr-pro-account-table .sub {
    color: var(--color-text-light) !important;
}

.mepr-account-container .mepr-pro-account-table__badge.--is-active,
.mepr-account-container .mepr-pro-account-table__badge.--is-complete {
    background-color: #d4edda !important;
    color: #155724 !important;
}

.mepr-account-container .mepr-pro-account-table__badge.--is-canceled,
.mepr-account-container .mepr-pro-account-table__badge.--is-refunded {
    background-color: #f8d7da !important;
    color: #721c24 !important;
}

.mepr-account-container .mepr-pro-account-table svg:focus-visible {
    fill: var(--color-primary) !important;
}

/* ==========================================================================
   Content area background
   ========================================================================== */

#mepr-account-content {
    background-color: var(--color-bg) !important;
}

.mepr-account-container .mepr-rl-footer-widgets {
    border-top-color: var(--color-border-light) !important;
}

/* ==========================================================================
   Mobile: scrollable account tables
   ========================================================================== */

@media (max-width: 768px) {
    /*
     * MemberPress account tables use table-layout:fixed with explicit column
     * widths, which causes overflow on small viewports. Converting the outer
     * <table> to a scrollable block keeps all columns readable.
     */
    .site-content .mp_wrapper table.mepr-account-table,
    .site-content .mp_wrapper #mepr-account-subscriptions-table,
    .mepr-account-container .mepr-pro-account-table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        table-layout: auto !important;
        max-width: 100% !important;
    }

    /* Reduce cell padding on mobile to show more columns */
    .site-content .mp_wrapper table.mepr-account-table th,
    .site-content .mp_wrapper table.mepr-account-table td,
    .site-content .mp_wrapper #mepr-account-subscriptions-table th,
    .site-content .mp_wrapper #mepr-account-subscriptions-table td {
        padding: 0.5rem 0.625rem !important;
        white-space: nowrap;
    }

    /* Profile form: full width on mobile */
    .site-content .mp_wrapper .mepr-account-form {
        max-width: 100%;
    }

    /* Account nav: wrap on small screens */
    .mp_wrapper #mepr-account-nav ul {
        gap: 0.25rem 0.75rem;
    }

    .mp_wrapper #mepr-account-nav li a {
        padding: 0.625rem 0.75rem !important;
        /* Minimum touch target height */
        min-height: 44px;
        display: inline-flex !important;
        align-items: center !important;
    }
}

/* ==========================================================================
   Empty states (Subscriptions / Payments tabs)
   ========================================================================== */

.mepr-no-active-subscriptions,
.mp-wrapper.mp-no-subs {
    padding: var(--spacing-xl) var(--spacing-lg) !important;
    background-color: var(--color-bg-alt) !important;
    border: 1px solid var(--color-border-light) !important;
    border-radius: var(--radius-md) !important;
    color: var(--color-text-light) !important;
    text-align: center;
    margin-top: 0 !important;
}
