/* ============================================================================
 * Arcpoly Theme — Account dashboard (Phase 5)
 *
 * Layout: sidebar 260px + content card, dark theme, brand accent.
 * NOTE: KHÔNG dùng @layer wrapper (rules ngoài @layer của WP core sẽ luôn
 * thắng) — giữ flat cascade để override Woo default reliably.
 * ========================================================================== */

.woocommerce-account {
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

/* Hide duplicate "Licenses của tôi" page-header title trên /my-account/ pages —
   template my-licenses/my-assets/my-devices đã có header riêng. Tránh trùng. */
body.woocommerce-account .page-header,
body.is-account-page .page-header {
    display: none !important;
}
body.woocommerce-account .entry-content.prose,
body.is-account-page .entry-content.prose {
    /* Reset entry-content max-width/prose constraints — để woocommerce grid full width */
    max-width: none !important;
}

/* Force grid layout — !important + body class specificity (0,0,3,0) để thắng
   WP core và Elementor kit CSS. Trước đây grid bị block→single column. */
body.woocommerce-account .woocommerce,
body.is-account-page .woocommerce {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: clamp(1rem, 2.5vw, 1.75rem) !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    /* Reset Woo floats nếu có */
    float: none !important;
}
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
    display: none !important;  /* WC clearfix pseudo-elements gây visual gap khi grid */
}

/* Explicit grid-column cho nav (col 1) + content (col 2) — chống WC default float */
body.woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1 !important;
    width: auto !important;
    max-width: 100% !important;
    float: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 2 !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0;
    float: none !important;
}

@media (max-width: 900px) {
    body.woocommerce-account .woocommerce,
    body.is-account-page .woocommerce {
        grid-template-columns: 1fr !important;
    }
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-content {
        grid-column: 1 !important;
    }
}

/* ============================================================================
 * SIDEBAR NAVIGATION — icon + label, brand active state
 * ========================================================================== */

.woocommerce-account .woocommerce-MyAccount-navigation {
    background: linear-gradient(180deg, var(--c-bg-1) 0%, var(--c-bg-0) 100%);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    padding: 0.625rem;
    position: sticky;
    top: calc(var(--header-h, 72px) + 1rem);
}
@media (max-width: 900px) {
    .woocommerce-account .woocommerce-MyAccount-navigation {
        position: static;
    }
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
    margin: 0;
    border: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.625rem 0.75rem;
    color: var(--c-text-dim);
    border-radius: var(--r-sm);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    text-decoration: none;
    transition: all var(--duration-fast) var(--ease);
    line-height: 1.2;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
    background: var(--c-bg-2);
    color: var(--c-text);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--dashboard.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--orders.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--my-licenses.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--my-assets.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--my-devices.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-account.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--edit-address.is-active a {
    background: var(--c-brand);
    color: var(--c-text-on-brand);
    box-shadow: 0 4px 14px rgba(245, 77, 45, 0.35);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a .arcpoly-nav__icon {
    color: var(--c-text-on-brand);
}
.arcpoly-nav__icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    color: var(--c-text-muted);
    transition: color var(--duration-fast) var(--ease);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover .arcpoly-nav__icon {
    color: var(--c-text);
}
.arcpoly-nav__label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Logout — visually separated */
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--c-divider);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: var(--c-danger);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: rgba(239, 68, 68, 0.1);
    color: var(--c-danger);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a .arcpoly-nav__icon {
    color: var(--c-danger);
}


/* ============================================================================
 * CONTENT CARD
 * ========================================================================== */

.woocommerce-MyAccount-content {
    background: var(--c-bg-1);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    padding: clamp(1.5rem, 3vw, 2.25rem);
    min-height: 320px;
}

/* Account dashboard intro */
.woocommerce-MyAccount-content > p:first-child {
    color: var(--c-text-dim);
    margin-bottom: 1.5rem;
}

/* Dashboard wrapper từ dashboard.php */
.arcpoly-dashboard__welcome {
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--c-divider);
    margin-bottom: 1.5rem;
}
.arcpoly-dashboard__welcome h2 {
    font-size: clamp(1.5rem, 2.5vw, 1.875rem);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.arcpoly-dashboard__quick-actions h3,
.arcpoly-dashboard__hints h3 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.5rem;
    color: var(--c-text);
}


/* ============================================================================
 * STATS GRID (account-stats.php widget)
 * ========================================================================== */

.arcpoly-account-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.875rem;
    margin: 1.5rem 0;
}
.arcpoly-account-stat {
    padding: 1rem 1.25rem;
    background: linear-gradient(180deg, var(--c-bg-2) 0%, var(--c-bg-1) 100%);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    transition: border-color var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);
}
.arcpoly-account-stat:hover {
    border-color: var(--c-border-hi);
    transform: translateY(-2px);
}
.arcpoly-account-stat__label {
    font-size: var(--fs-xs);
    text-transform: uppercase;
    letter-spacing: var(--ls-wider);
    color: var(--c-text-dim);
    margin-bottom: 0.5rem;
    font-weight: 600;
}
.arcpoly-account-stat__value {
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 800;
    line-height: 1;
    color: var(--c-text);
    letter-spacing: -0.01em;
}


/* ============================================================================
 * MY-ORDERS table — WC default styling override
 * ========================================================================== */

.woocommerce-orders-table {
    border: 1px solid var(--c-border) !important;
    border-radius: var(--r-lg) !important;
    overflow: hidden;
}
.woocommerce-orders-table thead {
    background: var(--c-bg-2);
}
.woocommerce-orders-table th {
    color: var(--c-text-dim) !important;
    font-size: 0.75rem !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600 !important;
    padding: 0.75rem 1rem !important;
}
.woocommerce-orders-table td {
    padding: 1rem !important;
    color: var(--c-text) !important;
    border-top: 1px solid var(--c-divider) !important;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
    padding: 0.4rem 0.875rem !important;
    font-size: 0.8rem !important;
    margin: 0 0.25rem 0.25rem 0 !important;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
    text-transform: capitalize;
}


/* ============================================================================
 * MY-LICENSES list (override frontend plugin styles when in account context)
 * ========================================================================== */

.woocommerce-MyAccount-content .arcpoly-my-licenses__header,
.woocommerce-MyAccount-content .arcpoly-my-assets__header,
.woocommerce-MyAccount-content .arcpoly-my-devices__header {
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--c-divider);
    margin-bottom: 1.5rem;
}
.woocommerce-MyAccount-content .arcpoly-my-licenses__header h2,
.woocommerce-MyAccount-content .arcpoly-my-assets__header h2,
.woocommerce-MyAccount-content .arcpoly-my-devices__header h2 {
    font-size: clamp(1.375rem, 2.5vw, 1.75rem);
    font-weight: 700;
    letter-spacing: -0.01em;
}


/* ============================================================================
 * Address / Edit account / Edit address forms — DARK THEME
 * ========================================================================== */

.woocommerce-EditAccountForm,
.woocommerce-address-fields,
.woocommerce-form-row {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.woocommerce-EditAccountForm .form-row,
.woocommerce-address-fields .form-row {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.4rem;
}
/* Labels */
.woocommerce-EditAccountForm label,
.woocommerce-address-fields label,
.woocommerce-EditAccountForm legend,
.woocommerce-address-fields fieldset legend,
body.woocommerce-account .form-row label,
body.woocommerce-account fieldset legend {
    color: var(--c-text) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    background: transparent !important;
}
.woocommerce-EditAccountForm legend,
.woocommerce-address-fields fieldset legend {
    font-size: 1rem !important;
    padding: 0 0.5rem !important;
    border: 0;
}

/* Form inputs — force dark theme */
body.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="tel"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="password"],
body.woocommerce-account .woocommerce-address-fields input[type="text"],
body.woocommerce-account .woocommerce-address-fields input[type="email"],
body.woocommerce-account .woocommerce-address-fields input[type="tel"],
body.woocommerce-account .woocommerce-address-fields select,
body.woocommerce-account .form-row input.input-text,
body.woocommerce-account .form-row select {
    background: var(--c-bg-2) !important;
    border: 1px solid var(--c-border) !important;
    color: var(--c-text) !important;
    border-radius: var(--r) !important;
    padding: 0 var(--input-pad-x) !important;
    height: var(--input-h) !important;
    font-family: var(--ff-body) !important;
    font-size: var(--fs-base) !important;
    width: 100% !important;
    line-height: 1.5 !important;
    box-shadow: none !important;
}
body.woocommerce-account .woocommerce-EditAccountForm input:focus,
body.woocommerce-account .woocommerce-EditAccountForm select:focus,
body.woocommerce-account .woocommerce-address-fields input:focus,
body.woocommerce-account .woocommerce-address-fields select:focus,
body.woocommerce-account .form-row input:focus,
body.woocommerce-account .form-row select:focus {
    outline: none !important;
    border-color: var(--c-brand) !important;
    box-shadow: 0 0 0 3px rgba(245, 77, 45, 0.2) !important;
    background: var(--c-bg-2) !important;
}

/* Password input wrap (WC dùng span để chèn show-password icon) */
body.woocommerce-account .password-input {
    position: relative;
    display: block;
    width: 100%;
}
body.woocommerce-account .password-input input {
    padding-right: 2.5rem !important;
}
body.woocommerce-account .show-password-input {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: var(--c-text-muted);
}
body.woocommerce-account .show-password-input.display-password {
    color: var(--c-brand);
}

/* Password change fieldset */
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields fieldset {
    border: 1px solid var(--c-border) !important;
    border-radius: var(--r-lg) !important;
    padding: 1rem 1.25rem 1.25rem !important;
    margin: 1rem 0 0 !important;
    background: var(--c-bg-0) !important;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Description / hint text */
body.woocommerce-account .woocommerce-EditAccountForm em,
body.woocommerce-account .form-row em,
body.woocommerce-account .woocommerce-EditAccountForm small {
    color: var(--c-text-dim) !important;
    font-size: 0.8rem !important;
    font-style: normal !important;
    line-height: 1.5;
}

/* Save changes button — brand styling */
body.woocommerce-account .woocommerce-EditAccountForm button[type="submit"],
body.woocommerce-account .woocommerce-EditAccountForm input[type="submit"],
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account button.button {
    background: var(--c-brand) !important;
    color: var(--c-text-on-brand) !important;
    border: none !important;
    border-radius: var(--r) !important;
    padding: 0 1.5rem !important;
    height: var(--input-h) !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    box-shadow: 0 4px 14px rgba(245, 77, 45, 0.35) !important;
    transition: all 150ms ease;
    cursor: pointer;
    text-shadow: none !important;
}
body.woocommerce-account .woocommerce-EditAccountForm button[type="submit"]:hover,
body.woocommerce-account .woocommerce-EditAccountForm input[type="submit"]:hover,
body.woocommerce-account .woocommerce-Button:hover,
body.woocommerce-account button.button:hover {
    background: var(--c-brand-hover) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 22px rgba(245, 77, 45, 0.5) !important;
}

/* Required asterisk */
body.woocommerce-account .required {
    color: var(--c-danger) !important;
    text-decoration: none !important;
}

/* Notice "temporary password" — match dark theme */
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-notice {
    background: var(--c-bg-2) !important;
    border: 1px solid var(--c-border) !important;
    border-left: 3px solid var(--c-info) !important;
    color: var(--c-text) !important;
    padding: 0.875rem 1.125rem !important;
    border-radius: var(--r) !important;
    margin-bottom: 1.25rem !important;
}
body.woocommerce-account .woocommerce-message::before,
body.woocommerce-account .woocommerce-info::before {
    display: none !important;
}


/* ============================================================================
 * Address card (my-account home address summary)
 * ========================================================================== */

.woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
    margin: 1rem 0 !important;
}
.woocommerce-Address {
    background: var(--c-bg-2);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    padding: 1.25rem;
}
.woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0 0 0.75rem !important;
    padding-bottom: 0.625rem;
    border-bottom: 1px solid var(--c-divider);
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--c-text);
}
.woocommerce-Address-title .edit {
    font-size: 0.825rem;
    color: var(--c-brand);
    text-decoration: none;
}
.woocommerce-Address-title .edit:hover {
    color: var(--c-brand-hover);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.woocommerce-Address address {
    color: var(--c-text-dim);
    font-size: 0.875rem;
    line-height: 1.6;
    font-style: normal;
    margin: 0;
}


/* ============================================================================
 * Dashboard quick-action cards (.card--hover variant)
 * ========================================================================== */

.arcpoly-dashboard__quick-actions .card--hover {
    transition: all var(--duration-fast) var(--ease);
}
.arcpoly-dashboard__quick-actions .card--hover:hover {
    border-color: var(--c-brand);
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(245, 77, 45, 0.15);
}

/* ============================================================================
 * Pagination inside orders / downloads
 * ========================================================================== */

.woocommerce-pagination,
.woocommerce-Pagination {
    margin-top: 1.5rem;
}
.woocommerce-pagination ul,
.woocommerce-Pagination ul {
    display: flex !important;
    justify-content: center;
    gap: 0.25rem;
    list-style: none;
    padding: 0 !important;
    border: 0 !important;
}
.woocommerce-pagination ul li,
.woocommerce-Pagination ul li {
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span,
.woocommerce-Pagination ul li a,
.woocommerce-Pagination ul li span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 0.75rem !important;
    background: var(--c-bg-2) !important;
    color: var(--c-text-dim) !important;
    border: 1px solid var(--c-border) !important;
    border-radius: var(--r-sm) !important;
    text-decoration: none;
    font-size: 0.825rem;
    font-weight: 500;
}
.woocommerce-pagination ul li .current,
.woocommerce-Pagination ul li .current {
    background: var(--c-brand) !important;
    color: var(--c-text-on-brand) !important;
    border-color: var(--c-brand) !important;
}
