.woocommerce-account .woocommerce {
    inline-size: min(calc(100% - 2rem), var(--ek-shell));
    margin-inline: auto;
    padding-block: clamp(2rem, 5vw, 5rem);
}

.ek-auth {
    display: grid;
    gap: var(--ek-space-8);
    align-items: stretch;
    max-inline-size: 68rem;
    margin-inline: auto;
}

.ek-auth__intro,
.ek-auth__card {
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-xl);
}

.ek-auth__intro {
    padding: clamp(1.5rem, 5vw, 3.5rem);
    background: linear-gradient(145deg, var(--ek-color-surface-soft), var(--ek-color-cream));
}

.ek-auth__intro h1 {
    margin-block: var(--ek-space-3) var(--ek-space-4);
    font-size: var(--ek-font-size-6);
}

.ek-auth__intro p,
.ek-auth__intro li,
.ek-auth__hint {
    color: var(--ek-color-muted);
}

.ek-auth__intro ul {
    display: grid;
    gap: var(--ek-space-3);
    margin-block: var(--ek-space-6) 0;
    padding-inline-start: 1.25rem;
}

.ek-auth__card {
    align-self: center;
    padding: clamp(1.25rem, 4vw, 2.25rem);
    background: var(--ek-color-surface);
    box-shadow: var(--ek-shadow-soft);
}

.ek-auth__step {
    display: grid;
    gap: var(--ek-space-4);
}

.ek-auth__step h2 {
    margin: 0;
    font-size: var(--ek-font-size-5);
}

.ek-auth__step label,
.ek-profile-form label {
    display: grid;
    gap: var(--ek-space-2);
    font-size: var(--ek-font-size-2);
    font-weight: 500;
}

.ek-auth input,
.ek-profile-form input,
.ek-profile-form select,
.ek-profile-form textarea {
    inline-size: 100%;
    min-block-size: 3rem;
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-md);
    background: var(--ek-color-surface);
    color: var(--ek-color-text);
    font: inherit;
}

.ek-auth input,
.ek-profile-form input,
.ek-profile-form select {
    padding-inline: var(--ek-space-4);
}

.ek-profile-form textarea {
    min-block-size: 7rem;
    padding: var(--ek-space-4);
    resize: vertical;
}

.ek-auth input:focus,
.ek-profile-form input:focus,
.ek-profile-form select:focus,
.ek-profile-form textarea:focus {
    border-color: var(--ek-color-focus);
    outline: 3px solid rgb(41 42 39 / 12%);
    outline-offset: 2px;
}

.ek-button--full {
    inline-size: 100%;
}

.ek-auth__status {
    display: none;
    margin-block-end: var(--ek-space-4);
    padding: var(--ek-space-3) var(--ek-space-4);
    border-radius: var(--ek-radius-md);
    font-size: var(--ek-font-size-2);
}

.ek-auth__status[data-state="error"] {
    display: block;
    background: rgb(157 69 69 / 9%);
    color: var(--ek-color-danger);
}

.ek-auth__status[data-state="success"] {
    display: block;
    background: rgb(79 107 85 / 10%);
    color: var(--ek-color-success);
}

.ek-auth__status[data-state="loading"] {
    display: block;
    background: var(--ek-color-surface-soft);
    color: var(--ek-color-muted);
}

.ek-auth__change,
.ek-auth__resend button {
    justify-self: start;
    min-block-size: var(--ek-touch-target);
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ek-color-text);
    font: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
}

.ek-auth__resend button:disabled {
    color: var(--ek-color-muted);
    cursor: not-allowed;
    text-decoration: none;
}

.ek-otp-boxes {
    display: grid;
    grid-template-columns: repeat(6, minmax(2.5rem, 1fr));
    gap: var(--ek-space-2);
}

.ek-otp-boxes input {
    min-inline-size: 0;
    block-size: clamp(3.25rem, 12vw, 4rem);
    padding: 0;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
}

.ek-auth__resend {
    display: flex;
    min-block-size: var(--ek-touch-target);
    align-items: center;
    justify-content: space-between;
    gap: var(--ek-space-3);
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-2);
}

.ek-honeypot {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    margin-block-end: var(--ek-space-6);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: var(--ek-space-2);
    overflow-x: auto;
    margin: 0;
    padding: var(--ek-space-2);
    list-style: none;
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
    flex: 0 0 auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: flex;
    min-block-size: var(--ek-touch-target);
    align-items: center;
    padding-inline: var(--ek-space-4);
    border-radius: var(--ek-radius-pill);
    color: var(--ek-color-text);
    text-decoration: none;
    white-space: nowrap;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: var(--ek-color-text);
    color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content {
    inline-size: 100%;
}

.ek-business-profile {
    display: grid;
    gap: var(--ek-space-6);
}

.ek-business-profile__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--ek-space-5);
    padding: clamp(1.25rem, 4vw, 2rem);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-xl);
    background: var(--ek-color-surface-soft);
}

.ek-business-profile__header h2 {
    margin-block: var(--ek-space-2);
}

.ek-business-profile__header p {
    margin: 0;
    color: var(--ek-color-muted);
}

.ek-profile-completion {
    display: grid;
    min-inline-size: 8rem;
    gap: var(--ek-space-1);
    padding: var(--ek-space-4);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface);
    text-align: center;
}

.ek-profile-completion strong {
    font-size: var(--ek-font-size-5);
}

.ek-profile-completion span {
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-1);
}

.ek-profile-form {
    display: grid;
    gap: var(--ek-space-6);
}

.ek-profile-form fieldset,
.ek-company-fields {
    margin: 0;
    padding: clamp(1rem, 4vw, 1.75rem);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-xl);
    background: var(--ek-color-surface);
}

.ek-profile-form legend,
.ek-company-fields summary {
    padding-inline: var(--ek-space-2);
    font-size: var(--ek-font-size-4);
    font-weight: 700;
}

.ek-company-fields summary {
    cursor: pointer;
}

.ek-company-fields summary span {
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-1);
    font-weight: 400;
}

.ek-company-fields[open] summary {
    margin-block-end: var(--ek-space-5);
}

.ek-form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ek-space-5);
}

.ek-profile-form small {
    color: var(--ek-color-muted);
    font-weight: 400;
}

.ek-input-prefix {
    display: flex;
    align-items: center;
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-md);
    overflow: hidden;
}

.ek-input-prefix > span {
    padding-inline: var(--ek-space-3);
    color: var(--ek-color-muted);
}

.ek-input-prefix input {
    border: 0;
    border-inline-start: 1px solid var(--ek-color-border);
    border-radius: 0;
}

@media (min-width: 48rem) {
    .ek-auth {
        grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
    }

    .ek-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ek-form-grid__wide {
        grid-column: 1 / -1;
    }
}

@media (min-width: 64rem) {
    .woocommerce-account.logged-in .woocommerce {
        display: grid;
        grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
        gap: var(--ek-space-8);
        align-items: start;
    }

    .woocommerce-account.logged-in .woocommerce-notices-wrapper {
        grid-column: 1 / -1;
    }

    .woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        position: sticky;
        inset-block-start: calc(var(--ek-header-height) + var(--ek-space-4));
        margin: 0;
    }

    .woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        display: grid;
        overflow: visible;
    }
}

/* Phase 6: customer dashboard */
.ek-account-nav__icon,
.ek-metric-card__icon,
.ek-notification__icon,
.ek-account-empty__icon {
    display: inline-grid;
    inline-size: 2.4rem;
    block-size: 2.4rem;
    place-items: center;
    flex: 0 0 auto;
    border-radius: var(--ek-radius-md);
    background: var(--ek-color-surface-soft);
}

.ek-account-nav__icon .ek-icon,
.ek-metric-card__icon .ek-icon,
.ek-notification__icon .ek-icon,
.ek-account-empty__icon .ek-icon {
    inline-size: 1.2rem;
    block-size: 1.2rem;
}

.ek-account-nav a {
    gap: var(--ek-space-3);
}

.ek-account-nav .is-active .ek-account-nav__icon {
    background: rgb(255 255 255 / 14%);
}

.ek-dashboard,
.ek-account-page,
.ek-order-view {
    display: grid;
    gap: var(--ek-space-6);
}

.ek-dashboard-hero,
.ek-account-page__header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--ek-space-5);
    padding: clamp(1.35rem, 4vw, 2.4rem);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-xl);
    background: linear-gradient(145deg, var(--ek-color-surface-soft), var(--ek-color-cream));
}

.ek-dashboard-hero h1,
.ek-account-page__header h1 {
    margin-block: var(--ek-space-2) var(--ek-space-3);
    font-size: clamp(1.55rem, 4vw, 2.35rem);
}

.ek-dashboard-hero p,
.ek-account-page__header p,
.ek-account-panel > p,
.ek-address-card p {
    margin: 0;
    color: var(--ek-color-muted);
}

.ek-eyebrow {
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-1);
    font-weight: 600;
}

.ek-dashboard-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ek-space-2);
}

.ek-level-badge,
.ek-level-discount,
.ek-status {
    display: inline-flex;
    min-block-size: 2rem;
    align-items: center;
    padding-inline: var(--ek-space-3);
    border-radius: var(--ek-radius-pill);
    font-size: var(--ek-font-size-1);
    font-weight: 600;
}

.ek-level-badge {
    background: var(--ek-color-text);
    color: #fff;
}

.ek-level-discount {
    background: var(--ek-color-sage);
    color: #fff;
}

.ek-dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ek-space-3);
}

.ek-metric-card {
    display: grid;
    min-block-size: 8.5rem;
    gap: var(--ek-space-2);
    padding: var(--ek-space-4);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface);
}

.ek-metric-card > span:not(.ek-metric-card__icon) {
    align-self: end;
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-1);
}

.ek-metric-card strong {
    font-size: clamp(1.1rem, 3vw, 1.55rem);
}

.ek-metric-card--wide {
    grid-column: 1 / -1;
}

.ek-dashboard-grid,
.ek-address-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ek-space-5);
}

.ek-account-panel,
.ek-address-card {
    padding: clamp(1.1rem, 4vw, 1.75rem);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-xl);
    background: var(--ek-color-surface);
}

.ek-panel-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--ek-space-3);
    margin-block-end: var(--ek-space-5);
}

.ek-panel-heading h2,
.ek-panel-heading h3 {
    margin: 0;
    font-size: var(--ek-font-size-4);
}

.ek-quick-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ek-space-3);
}

.ek-quick-actions > a {
    display: flex;
    min-block-size: 4.5rem;
    align-items: center;
    gap: var(--ek-space-3);
    padding: var(--ek-space-4);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    color: var(--ek-color-text);
    text-decoration: none;
}

.ek-quick-actions > a:hover {
    background: var(--ek-color-surface-soft);
}

.ek-quick-actions .ek-icon {
    inline-size: 1.35rem;
    block-size: 1.35rem;
    flex: 0 0 auto;
}

.ek-quick-actions span {
    display: grid;
    gap: var(--ek-space-1);
}

.ek-quick-actions small {
    color: var(--ek-color-muted);
}

.ek-progress {
    inline-size: 100%;
    block-size: 0.65rem;
    overflow: hidden;
    margin-block-end: var(--ek-space-4);
    border: 0;
    border-radius: var(--ek-radius-pill);
    background: var(--ek-color-surface-soft);
}

.ek-progress::-webkit-progress-bar {
    border-radius: var(--ek-radius-pill);
    background: var(--ek-color-surface-soft);
}

.ek-progress::-webkit-progress-value {
    border-radius: var(--ek-radius-pill);
    background: var(--ek-color-sage);
}

.ek-progress::-moz-progress-bar {
    border-radius: var(--ek-radius-pill);
    background: var(--ek-color-sage);
}

.ek-text-link,
.ek-back-link,
.ek-notification a,
.ek-order-card__summary a {
    color: var(--ek-color-text);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.ek-order-list,
.ek-notification-list,
.ek-order-items {
    display: grid;
    gap: var(--ek-space-3);
}

.ek-order-card {
    display: grid;
    gap: var(--ek-space-4);
    padding: var(--ek-space-4);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface);
}

.ek-order-card__main,
.ek-order-card__summary,
.ek-order-actions,
.ek-order-card__details,
.ek-order-view__summary,
.ek-order-item,
.ek-order-item__numbers {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ek-space-3);
}

.ek-order-card__main,
.ek-order-card__summary,
.ek-order-item {
    justify-content: space-between;
}

.ek-order-card__main > div {
    display: grid;
    gap: var(--ek-space-1);
}

.ek-order-number {
    color: var(--ek-color-text);
    font-weight: 700;
    text-decoration: none;
}

.ek-order-card time,
.ek-order-card__summary > span,
.ek-order-card__details span,
.ek-order-view__summary span,
.ek-order-item__numbers span,
.ek-order-updates time {
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-1);
}

.ek-order-card__summary {
    padding-block-start: var(--ek-space-3);
    border-block-start: 1px solid var(--ek-color-border);
}

.ek-order-card__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ek-order-card__details > div,
.ek-order-view__summary > div {
    display: grid;
    gap: var(--ek-space-1);
}

.ek-order-actions {
    padding-block-start: var(--ek-space-3);
    border-block-start: 1px solid var(--ek-color-border);
}

.ek-order-actions .ek-button {
    flex: 1 1 auto;
    justify-content: center;
}

.ek-status--success {
    background: rgb(79 107 85 / 12%);
    color: var(--ek-color-success);
}

.ek-status--info {
    background: rgb(164 174 180 / 22%);
    color: var(--ek-color-text);
}

.ek-status--warning {
    background: rgb(197 175 149 / 25%);
    color: var(--ek-color-text);
}

.ek-status--muted,
.ek-status--neutral {
    background: var(--ek-color-surface-soft);
    color: var(--ek-color-muted);
}

.ek-notification {
    display: flex;
    align-items: flex-start;
    gap: var(--ek-space-4);
    padding: var(--ek-space-4);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface);
}

.ek-notification--warning {
    border-color: var(--ek-color-warm-beige);
    background: rgb(197 175 149 / 10%);
}

.ek-notification--success {
    border-color: var(--ek-color-sage);
    background: rgb(150 146 125 / 8%);
}

.ek-notification h2,
.ek-notification h3 {
    margin-block: 0 var(--ek-space-2);
    font-size: var(--ek-font-size-3);
}

.ek-notification p {
    margin-block: 0 var(--ek-space-3);
    color: var(--ek-color-muted);
}

.ek-account-empty {
    display: grid;
    justify-items: start;
    gap: var(--ek-space-3);
    padding: clamp(1.5rem, 5vw, 2.5rem);
    border: 1px dashed var(--ek-color-border);
    border-radius: var(--ek-radius-xl);
    background: var(--ek-color-surface-soft);
}

.ek-account-empty h2,
.ek-account-empty p {
    margin: 0;
}

.ek-account-empty p {
    color: var(--ek-color-muted);
}

.ek-account-empty--inside {
    padding: var(--ek-space-5);
}

.ek-account-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--ek-space-3);
    margin-block-start: var(--ek-space-5);
}

.ek-order-view__summary {
    display: grid;
    grid-template-columns: 1fr;
    padding: var(--ek-space-4);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface-soft);
}

.ek-order-item {
    padding-block: var(--ek-space-4);
    border-block-end: 1px solid var(--ek-color-border);
}

.ek-order-item:last-child {
    border-block-end: 0;
}

.ek-order-item > div:first-child {
    display: grid;
    gap: var(--ek-space-2);
}

.ek-order-item a {
    color: var(--ek-color-text);
    text-decoration: none;
}

.ek-order-item__meta {
    color: var(--ek-color-muted);
    font-size: var(--ek-font-size-1);
}

.ek-order-item__meta ul,
.ek-order-item__meta p {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ek-order-item__numbers {
    justify-content: flex-end;
}

.ek-order-address {
    display: grid;
    gap: var(--ek-space-2);
    color: var(--ek-color-muted);
    font-style: normal;
}

.ek-order-address strong {
    color: var(--ek-color-text);
}

.ek-order-updates {
    display: grid;
    gap: var(--ek-space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ek-order-updates li {
    display: grid;
    gap: var(--ek-space-2);
    padding-block-end: var(--ek-space-4);
    border-block-end: 1px solid var(--ek-color-border);
}

.ek-address-card address {
    color: var(--ek-color-muted);
    font-style: normal;
    line-height: 2;
}

@media (min-width: 40rem) {
    .ek-dashboard-metrics {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .ek-metric-card--wide {
        grid-column: span 2;
    }

    .ek-order-view__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 48rem) {
    .ek-dashboard-grid,
    .ek-address-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ek-quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 64rem) {
    .ek-account-nav ul {
        padding: var(--ek-space-3);
    }

    .ek-account-nav a {
        border-radius: var(--ek-radius-md);
    }
}

.ek-wallet-hero {
    display: grid;
    gap: var(--ek-space-4);
    padding: clamp(1.25rem, 4vw, 2rem);
    margin-block-end: var(--ek-space-5);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-xl);
    background: linear-gradient(145deg, var(--ek-color-surface), rgb(231 213 193 / 28%));
}

.ek-wallet-hero--cashback {
    background: linear-gradient(145deg, var(--ek-color-surface), rgb(150 146 125 / 13%));
}

.ek-wallet-hero__icon {
    display: inline-grid;
    place-items: center;
    inline-size: 3rem;
    block-size: 3rem;
    border-radius: 999px;
    background: var(--ek-color-surface-soft);
}

.ek-wallet-hero > div {
    display: grid;
    gap: var(--ek-space-1);
}

.ek-wallet-hero strong {
    font-size: clamp(1.5rem, 5vw, 2.25rem);
}

.ek-wallet-hero p,
.ek-wallet-transaction time,
.ek-wallet-transaction small {
    margin: 0;
    color: var(--ek-color-muted);
}

.ek-wallet-ledger {
    display: grid;
}

.ek-wallet-transaction {
    display: grid;
    gap: var(--ek-space-3);
    padding-block: var(--ek-space-4);
    border-block-end: 1px solid var(--ek-color-border);
}

.ek-wallet-transaction:last-child {
    border-block-end: 0;
}

.ek-wallet-transaction > div {
    display: grid;
    gap: var(--ek-space-1);
}

.ek-wallet-transaction > div:last-child {
    justify-items: start;
}

.ek-wallet-transaction--credit > div:last-child > strong {
    color: var(--ek-color-success);
}

.ek-wallet-transaction--debit > div:last-child > strong {
    color: var(--ek-color-text);
}

.ek-wallet-control {
    display: grid;
    gap: var(--ek-space-3);
    padding: var(--ek-space-4);
    margin-block: var(--ek-space-4);
    border: 1px solid var(--ek-color-border);
    border-radius: var(--ek-radius-lg);
    background: var(--ek-color-surface-soft);
}

.ek-wallet-control p {
    margin: 0;
    color: var(--ek-color-muted);
}

.ek-wallet-control__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ek-space-2);
}

.ek-wallet-control__actions input {
    inline-size: min(12rem, 100%);
}

.ek-wallet-control__message {
    min-block-size: 1.5em;
}

.ek-wallet-control[data-state="error"] .ek-wallet-control__message {
    color: var(--ek-color-danger, #8a2d2d);
}

@media (min-width: 40rem) {
    .ek-wallet-transaction {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .ek-wallet-transaction > div:last-child {
        justify-items: end;
    }
}
