/* =====================================================================
   _60_account.css  —  DGRIE Account Section
   ---------------------------------------------------------------------
   Single coherent stylesheet for the entire customer account area.

   Loaded by:  app/design/frontend/newdgrie/default/layout/local.xml
               <customer_account><reference name="head">
                 <action method="addCss">
                   <stylesheet>css/_60_account.css</stylesheet>
                 </action>

   Scope (everything authenticated except checkout):
     · Auth pages              — login / register / forgot-password
     · Account shell           — sidebar + main grid
     · Dashboard               — hero, size profile snapshot, info grid,
                                 quick actions, recent wishlist
     · Sub-pages (Phase 7e)    — address book, address edit, account
                                 information, newsletter manage
     · Empty states            — wishlist, addresses, etc.
     · Custsize fix            — size profile list full-width

   Layout system:
     · Outer shell `.dg-acct`        : 240px sidebar + 1fr main, 1400px max
     · Sub-page wrappers             : width: 100% (no shift between tabs)
     · `.dg-acct-page`               : passive vertical container
     · `.dg-acct-page__split`        : 1fr + 220px editorial rail

   Conventions:
     · Component classes prefixed `.dg-acct-` or `.dg-`
     · Mobile breakpoint = 1023px (matches header `lg`)
     · No `!important` unless beating Magento core resets
     · Tokens from _01_tokens.css

   Author: AbsoluteX Coding  ·  Phase 7a–7e complete
   ===================================================================== */


/* =====================================================================
   PART 1 — AUTH PAGES (Login / Register / Forgot)
   ===================================================================== */

.dg-acct-auth {
    max-width: var(--dg-container-narrow, 960px);
    margin: 0 auto;
    padding: var(--dg-space-3xl, 64px) var(--dg-gutter, 24px) var(--dg-space-4xl, 96px);
    box-sizing: border-box;
}

.dg-acct-auth__eyebrow {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-muted, #6b6b6b);
    margin: 0 0 var(--dg-space-xs, 8px);
}

.dg-acct-auth__title {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-2xl, 38px);
    font-weight: var(--dg-weight-regular, 400);
    line-height: var(--dg-leading-tight, 1.15);
    letter-spacing: var(--dg-tracking-tight, -0.01em);
    color: var(--dg-ink, #1a1a1a);
    margin: 0 0 var(--dg-space-xl, 32px);
}

.dg-acct-auth__intro {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    line-height: var(--dg-leading-normal, 1.55);
    color: var(--dg-ink-soft, #4a4a4a);
    margin: 0 0 var(--dg-space-lg, 24px);
    max-width: 44ch;
}

/* 2-column split: existing user | new user */
.dg-acct-auth__split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dg-space-4xl, 96px);
    align-items: stretch;
}

.dg-acct-auth__col { display: flex; flex-direction: column; }

.dg-acct-auth__col--existing {
    padding-right: var(--dg-space-2xl, 48px);
    border-right: 0.5px solid var(--dg-line, #e8e6e0);
}
.dg-acct-auth__col--new {
    padding-left: 0;
    justify-content: center;
}

/* Underline-only form fields */
.dg-acct-form__field { margin-bottom: var(--dg-space-lg, 24px); }

.dg-acct-form__label {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0em);
    text-transform: uppercase;
    color: var(--dg-muted, #6b6b6b);
    margin-bottom: var(--dg-space-xs, 8px);
}
.dg-acct-form__label .required {
    color: var(--dg-gold, #8b6f47);
    margin-left: 2px;
}

.dg-acct-form__input {
    width: 100%;
    box-sizing: border-box;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--dg-ink, #1a1a1a);
    border-radius: 0;
    padding: var(--dg-space-xs, 8px) 0;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-base, 16px);
    color: var(--dg-ink, #1a1a1a);
    line-height: 1.4;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color var(--dg-motion-base, 240ms) var(--dg-ease, cubic-bezier(.4,0,.2,1));
}
.dg-acct-form__input:focus {
    outline: none;
    border-bottom-color: var(--dg-gold, #8b6f47);
    border-bottom-width: 2px;
    padding-bottom: 7px;
}
.dg-acct-form__input::placeholder { color: var(--dg-faint, #999999); opacity: 1; }
.dg-acct-form__input.validation-failed { border-bottom-color: var(--dg-error, #a04545); }

.dg-acct-form__error,
.dg-acct-form__field .validation-advice {
    color: var(--dg-error, #a04545);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    margin-top: var(--dg-space-xxs, 4px);
    display: block;
}

.dg-acct-form__forgot {
    display: inline-block;
    margin-top: calc(var(--dg-space-xs, 8px) * -1);
    margin-bottom: var(--dg-space-xl, 32px);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-gold, #8b6f47);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-acct-form__forgot:hover { color: var(--dg-gold-soft, #b8956a); }

.dg-acct-btn {
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
    padding: var(--dg-space-md, 16px) var(--dg-space-xl, 32px);
    background: var(--dg-ink, #1a1a1a);
    color: var(--dg-paper, #ffffff);
    border: 1px solid var(--dg-ink, #1a1a1a);
    border-radius: 0;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    font-weight: var(--dg-weight-medium, 500);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
    transition: background var(--dg-motion-fast, 150ms), color var(--dg-motion-fast, 150ms);
    -webkit-appearance: none;
    appearance: none;
}
.dg-acct-btn:hover {
    background: var(--dg-paper, #ffffff);
    color: var(--dg-ink, #1a1a1a);
}
.dg-acct-btn:active { transform: translateY(0.5px); }

.dg-acct-btn--outline {
    background: transparent;
    color: var(--dg-ink, #1a1a1a);
    align-self: flex-start;
    width: auto;
}
.dg-acct-btn--outline:hover {
    background: var(--dg-ink, #1a1a1a);
    color: var(--dg-paper, #ffffff);
}

.dg-acct-btn--sm {
    width: auto;
    padding: var(--dg-space-sm, 12px) var(--dg-space-lg, 24px);
    font-size: var(--dg-text-xxs, 11px);
}

.dg-acct-form__captcha { margin: var(--dg-space-md, 16px) 0 var(--dg-space-lg, 24px); }
.dg-acct-form__captcha img {
    max-width: 100%;
    height: auto;
    border: 0.5px solid var(--dg-line, #e8e6e0);
}

.dg-acct-auth__footnote {
    margin-top: var(--dg-space-2xl, 48px);
    padding-top: var(--dg-space-lg, 24px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-faint, #999999);
}

/* Register page */
.dg-acct-auth--register {
    max-width: var(--dg-container-prose, 720px);
    padding-top: var(--dg-space-4xl, 96px);
}
.dg-acct-auth--register .dg-acct-form__field--row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dg-space-lg, 24px);
}
.dg-acct-auth--register .dg-acct-form__checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--dg-space-sm, 12px);
    margin: var(--dg-space-md, 16px) 0 var(--dg-space-xl, 32px);
}
.dg-acct-auth--register .dg-acct-form__checkbox input[type="checkbox"] {
    margin-top: 3px;
    accent-color: var(--dg-ink, #1a1a1a);
}
.dg-acct-auth--register .dg-acct-form__checkbox label {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    color: var(--dg-ink-soft, #4a4a4a);
    line-height: 1.5;
    margin: 0;
    letter-spacing: 0;
    text-transform: none;
}

/* Forgot password */
.dg-acct-auth--forgot {
    max-width: 520px;
    padding-top: var(--dg-space-4xl, 96px);
    padding-bottom: var(--dg-space-4xl, 96px);
}
.dg-acct-auth--forgot .dg-acct-auth__back {
    margin-top: var(--dg-space-lg, 24px);
    text-align: center;
}
.dg-acct-auth--forgot .dg-acct-auth__back a {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-muted, #6b6b6b);
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =====================================================================
   PART 2 — ACCOUNT SHELL (sidebar + main grid)
   ---------------------------------------------------------------------
   The shell wraps every authenticated page after sign-in. It's a
   1400px-max container split into a 240px sticky sidebar and a 1fr
   main column. Used by Dashboard and all Phase 7e sub-pages.
   ===================================================================== */

.dg-acct {
    display: grid;
    width: 100%; /* grid-fix: width 100% */
    grid-template-columns: 240px 1fr;
    gap: 0;
    max-width: var(--dg-container-max, 1400px);
    margin: 0 auto;
    min-height: 600px;
    background: var(--dg-paper, #ffffff);
}

/* Sidebar */
.dg-acct__sidebar {
    /* sidebar-scroll-fix: let page scroll naturally on the sidebar.
       Sticky pinning preserved; max-height prevents the rare case of
       a very tall account having sidebar overflow the viewport. */
    border-right: 0.5px solid var(--dg-line, #e8e6e0);
    padding: var(--dg-space-2xl, 48px) 0;
    position: sticky;
    top: 80px;
    align-self: start;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    overscroll-behavior-y: auto;
}

.dg-acct__user {
    padding: 0 var(--dg-space-lg, 24px) var(--dg-space-lg, 24px);
    border-bottom: 0.5px solid var(--dg-line, #e8e6e0);
    margin-bottom: var(--dg-space-xs, 8px);
}

.dg-acct__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--dg-ink, #1a1a1a);
    color: var(--dg-paper, #ffffff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-base, 16px);
    font-weight: var(--dg-weight-medium, 500);
    margin-bottom: var(--dg-space-sm, 12px);
}

.dg-acct__name {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    font-weight: var(--dg-weight-medium, 500);
    color: var(--dg-ink, #1a1a1a);
    line-height: 1.3;
}

.dg-acct__email {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-faint, #999999);
    margin-top: 2px;
    word-break: break-all;
}

.dg-acct__nav-heading {
    padding: var(--dg-space-md, 16px) var(--dg-space-lg, 24px) var(--dg-space-xxs, 4px);
    font-family: var(--dg-font-sans);
    font-size: 10px;
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-faint, #999999);
}

.dg-acct__nav { list-style: none; padding: 0; margin: 0; }
.dg-acct__nav-item { margin: 0; }

.dg-acct__nav-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--dg-space-xs, 8px);
    padding: var(--dg-space-sm, 12px) var(--dg-space-lg, 24px);
    color: var(--dg-ink-soft, #4a4a4a);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    line-height: 1.3;
    text-decoration: none;
    border-left: 2px solid transparent;
    transition: background var(--dg-motion-fast, 150ms), color var(--dg-motion-fast, 150ms);
}
.dg-acct__nav-link:hover {
    background: var(--dg-cream, #fafaf7);
    color: var(--dg-ink, #1a1a1a);
}
.dg-acct__nav-link.is-active {
    background: var(--dg-stone, #f1efe9);
    border-left-color: var(--dg-ink, #1a1a1a);
    color: var(--dg-ink, #1a1a1a);
    font-weight: var(--dg-weight-medium, 500);
}

.dg-acct__nav-label { flex: 1 1 auto; min-width: 0; }

.dg-acct__nav-meta {
    flex: 0 0 auto;
    color: var(--dg-faint, #999999);
    font-size: var(--dg-text-xs, 12px);
    font-weight: var(--dg-weight-regular, 400);
    font-variant-numeric: tabular-nums;
    margin-left: var(--dg-space-xs, 8px);
}
.dg-acct__nav-link.is-active .dg-acct__nav-meta {
    color: var(--dg-ink-soft, #4a4a4a);
}

.dg-acct__signout {
    margin-top: var(--dg-space-xl, 32px);
    padding: var(--dg-space-lg, 24px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-faint, #999999);
    text-decoration: none;
    display: block;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-acct__signout:hover { color: var(--dg-ink, #1a1a1a); }
.dg-acct__signout::before { content: '↪ '; margin-right: 2px; }

/* Main content area */
.dg-acct__main {
    padding: var(--dg-space-2xl, 48px) var(--dg-space-3xl, 64px);
    min-width: 0;
}

.dg-acct__heading { margin-bottom: var(--dg-space-xl, 32px); }
.dg-acct__heading-eyebrow {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-muted, #6b6b6b);
    margin: 0 0 var(--dg-space-xs, 8px);
}
.dg-acct__heading-title {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-3xl, 54px);
    font-weight: var(--dg-weight-regular, 400);
    line-height: var(--dg-leading-tight, 1.15);
    color: var(--dg-ink, #1a1a1a);
    margin: 0;
}

/* Mobile horizontal-scroll nav (injected by JS for ≤1023px) */
.dg-acct__mobile-nav { display: none; }


/* =====================================================================
   PART 3 — SUB-PAGE WRAPPERS (Phase 7e)
   ---------------------------------------------------------------------
   Every sub-page handle in local.xml uses `setElementClass` to add one
   of these classes to `.my.account.wrapper`. Forcing them all to
   `width: 100%` ensures the sidebar boundary never shifts between
   tabs (the "shrinking" bug from earlier iterations).
   ===================================================================== */

.dg-acct-dashboard-wrapper,
.dg-acct-address-wrapper,
.dg-acct-address-form-wrapper,
.dg-acct-info-wrapper,
.dg-acct-newsletter-wrapper,
.dg-acct-custsize-wrapper {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* =====================================================================
   PART 4 — PAGE CONTAINER (`.dg-acct-page`)
   ---------------------------------------------------------------------
   Shared by Phase 7e sub-pages (address book, address edit, account
   info, newsletter). Provides vertical rhythm only — width is left to
   the parent wrapper and the inner split layout.
   ===================================================================== */

.dg-acct-page {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: var(--dg-space-2xl, 48px) 0 var(--dg-space-4xl, 96px);
    box-sizing: border-box;
}

.dg-acct-page__head { margin-bottom: var(--dg-space-xl, 32px); }

.dg-acct-page__eyebrow {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-gold, #8b6f47);
    margin: 0 0 var(--dg-space-xs, 8px);
    font-weight: var(--dg-weight-medium, 500);
}

.dg-acct-page__title {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-2xl, 38px);
    font-weight: var(--dg-weight-regular, 400);
    line-height: var(--dg-leading-tight, 1.15);
    letter-spacing: var(--dg-tracking-tight, -0.01em);
    color: var(--dg-ink, #1a1a1a);
    margin: 0 0 var(--dg-space-sm, 12px);
}

.dg-acct-page__lede {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    line-height: var(--dg-leading-normal, 1.55);
    color: var(--dg-muted, #6b6b6b);
    margin: 0;
    max-width: 540px;
}

.dg-acct-h2 {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-lg, 22px);
    font-weight: var(--dg-weight-regular, 400);
    color: var(--dg-ink, #1a1a1a);
    margin: var(--dg-space-2xl, 48px) 0 var(--dg-space-md, 16px);
    letter-spacing: var(--dg-tracking-tight, -0.01em);
}

/* Page variant markers — inherit .dg-acct-page; kept for per-page tweaks */
.dg-acct-page--address-book,
.dg-acct-page--address-form,
.dg-acct-page--account-info,
.dg-acct-page--newsletter { /* same base */ }


/* =====================================================================
   PART 5 — EDITORIAL SPLIT (form left, rail right)
   ---------------------------------------------------------------------
   The signature layout for Phase 7e sub-pages:
     · Form / cards / primary content     → left (1fr)
     · Editorial rail (helper text, etc.) → right (220px)
     · Vertical hairline divides them
     · 64px gap
   Mobile collapses to single column with rail below (becomes a quiet
   bottom note).
   ===================================================================== */

.dg-acct-page__split {
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: var(--dg-space-3xl, 64px);
    padding-top: var(--dg-space-xl, 32px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
    margin-top: var(--dg-space-md, 16px);
}

.dg-acct-page__form { min-width: 0; }

.dg-acct-page__rail {
    border-left: 0.5px solid var(--dg-line, #e8e6e0);
    padding-left: var(--dg-space-lg, 24px);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 13px);
    line-height: var(--dg-leading-loose, 1.7);
    color: var(--dg-muted, #6b6b6b);
}

.dg-acct-page__rail-head {
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-ink-soft, #4a4a4a);
    font-weight: var(--dg-weight-medium, 500);
    margin: 0 0 var(--dg-space-sm, 12px);
}

.dg-acct-page__rail p { margin: 0 0 var(--dg-space-md, 16px); }
.dg-acct-page__rail p:last-child { margin-bottom: 0; }

.dg-acct-page__rail strong {
    color: var(--dg-ink, #1a1a1a);
    font-weight: var(--dg-weight-medium, 500);
}

.dg-acct-page__rail .gold { color: var(--dg-gold, #8b6f47); }

.dg-acct-page__rail a {
    color: var(--dg-gold, #8b6f47);
    text-decoration: none;
    border-bottom: 0.5px solid var(--dg-gold, #8b6f47);
    padding-bottom: 1px;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-acct-page__rail a:hover {
    color: var(--dg-gold-soft, #b8956a);
    border-bottom-color: var(--dg-gold-soft, #b8956a);
}


/* =====================================================================
   PART 6 — FORMS (boxed-input style, used inside split)
   ---------------------------------------------------------------------
   Distinct from the underline-only auth forms — boxed inputs give
   Phase 7e forms more structure and clearer field boundaries.
   ===================================================================== */

.dg-form { margin: 0; }

.dg-form__section {
    border: none;
    padding: 0;
    margin: 0 0 var(--dg-space-xl, 32px);
}

.dg-form__legend {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-muted, #6b6b6b);
    font-weight: var(--dg-weight-medium, 500);
    margin: 0 0 var(--dg-space-md, 16px);
    padding: 0 0 var(--dg-space-xs, 8px);
    width: 100%;
    border-bottom: 0.5px solid var(--dg-line, #e8e6e0);
}

.dg-form__row { margin-bottom: var(--dg-space-md, 16px); }

.dg-form__row--split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dg-space-md, 16px);
    margin-bottom: 0;
}
.dg-form__row--split .dg-form__field { margin-bottom: var(--dg-space-md, 16px); }

.dg-form__field { margin-bottom: var(--dg-space-md, 16px); }

.dg-form__label {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    letter-spacing: var(--dg-tracking-wide, 0.05em);
    color: var(--dg-ink-soft, #4a4a4a);
    font-weight: var(--dg-weight-medium, 500);
    margin: 0 0 var(--dg-space-xs, 8px);
}
.dg-form__label em {
    color: var(--dg-gold, #8b6f47);
    font-style: normal;
    margin-left: 2px;
}

.dg-form__hint {
    color: var(--dg-faint, #999999);
    font-weight: var(--dg-weight-regular, 400);
    font-size: var(--dg-text-xs, 12px);
    letter-spacing: 0;
}
.dg-form__hint--block {
    display: block;
    margin: var(--dg-space-sm, 12px) 0 0;
    line-height: var(--dg-leading-normal, 1.55);
}

.dg-form__input,
.dg-form input.input-text,
.dg-form select,
.dg-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: var(--dg-space-sm, 12px) var(--dg-space-md, 16px);
    background: var(--dg-paper, #ffffff);
    border: 0.5px solid var(--dg-line, #e8e6e0);
    border-radius: 0;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    line-height: 1.4;
    color: var(--dg-ink, #1a1a1a);
    transition: border-color var(--dg-motion-fast, 150ms);
    -webkit-appearance: none;
    appearance: none;
}
.dg-form__input:focus,
.dg-form input.input-text:focus,
.dg-form select:focus,
.dg-form textarea:focus {
    outline: none;
    border-color: var(--dg-ink, #1a1a1a);
}
.dg-form__input::placeholder,
.dg-form input::placeholder { color: var(--dg-faint, #999999); }

.dg-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%231a1a1a' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

/* "Defaults" fieldset on address edit */
.dg-form__section--defaults {
    background: var(--dg-cream, #fafaf7);
    padding: var(--dg-space-lg, 24px);
    margin-bottom: var(--dg-space-xl, 32px);
}

.dg-form__defaults-current {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    color: var(--dg-ink, #1a1a1a);
    margin: 0 0 var(--dg-space-sm, 12px);
    padding: var(--dg-space-xs, 8px) 0;
}
.dg-form__defaults-current:last-child { margin-bottom: 0; }
.dg-form__defaults-current strong {
    font-weight: var(--dg-weight-medium, 500);
    color: var(--dg-gold, #8b6f47);
}

/* Checkboxes — newsletter, defaults, change-password toggle */
.dg-form__check {
    display: flex;
    align-items: flex-start;
    gap: var(--dg-space-sm, 12px);
    cursor: pointer;
    padding: var(--dg-space-sm, 12px) 0;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    color: var(--dg-ink, #1a1a1a);
    user-select: none;
    border-bottom: 0.5px solid var(--dg-cream, #fafaf7);
}
.dg-form__check:last-child { border-bottom: 0; }
.dg-form__check input[type="checkbox"] {
    margin: 3px 0 0;
    width: 18px;
    height: 18px;
    accent-color: var(--dg-ink, #1a1a1a);
    cursor: pointer;
    flex-shrink: 0;
}
.dg-form__check-label { flex: 1; line-height: var(--dg-leading-normal, 1.55); }
.dg-form__check-label strong {
    display: block;
    font-weight: var(--dg-weight-medium, 500);
    margin-bottom: 2px;
    color: var(--dg-ink, #1a1a1a);
}
.dg-form__check-label .dg-form__check-sub {
    display: block;
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-muted, #6b6b6b);
    margin-top: 2px;
    line-height: 1.5;
}

.dg-form__check--toggle {
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
    border-bottom: 0;
    padding-top: var(--dg-space-md, 16px);
    margin-top: var(--dg-space-md, 16px);
}

.dg-form__password-panel {
    margin-top: var(--dg-space-md, 16px);
    padding: var(--dg-space-lg, 24px);
    background: var(--dg-cream, #fafaf7);
}

.dg-form__actions {
    display: flex;
    align-items: center;
    gap: var(--dg-space-lg, 24px);
    margin-top: var(--dg-space-xl, 32px);
    padding-top: var(--dg-space-lg, 24px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
}

.dg-form__back-link {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    letter-spacing: var(--dg-tracking-wide, 0.05em);
    color: var(--dg-muted, #6b6b6b);
    text-decoration: none;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-form__back-link:hover { color: var(--dg-ink, #1a1a1a); }

/* Form variant markers — same base, kept for future per-page tweaks */
.dg-form--address,
.dg-form--account-info,
.dg-form--newsletter { /* inherit .dg-form */ }
.dg-form__section--password { /* inherit .dg-form__section */ }


/* =====================================================================
   PART 7 — BUTTONS (generic dg-btn)
   ===================================================================== */

.dg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--dg-space-xs, 8px);
    box-sizing: border-box;
    padding: var(--dg-space-md, 16px) var(--dg-space-xl, 32px);
    background: var(--dg-ink, #1a1a1a);
    color: var(--dg-paper, #ffffff);
    border: 1px solid var(--dg-ink, #1a1a1a);
    border-radius: 0;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    font-weight: var(--dg-weight-medium, 500);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: background var(--dg-motion-fast, 150ms),
                color var(--dg-motion-fast, 150ms),
                border-color var(--dg-motion-fast, 150ms);
    -webkit-appearance: none;
    appearance: none;
}
.dg-btn--solid:hover {
    background: var(--dg-paper, #ffffff);
    color: var(--dg-ink, #1a1a1a);
}

.dg-btn--outline {
    background: var(--dg-paper, #ffffff);
    color: var(--dg-ink, #1a1a1a);
    border-color: var(--dg-line, #e8e6e0);
}
.dg-btn--outline:hover {
    background: var(--dg-ink, #1a1a1a);
    color: var(--dg-paper, #ffffff);
    border-color: var(--dg-ink, #1a1a1a);
}

.dg-btn--full { width: 100%; }

.dg-btn__plus {
    font-size: 18px;
    font-weight: var(--dg-weight-regular, 400);
    letter-spacing: 0;
    margin-right: var(--dg-space-xxs, 4px);
    line-height: 1;
}


/* =====================================================================
   PART 8 — ADDRESS CARDS (address book page)
   ===================================================================== */

.dg-addr-card {
    background: var(--dg-paper, #ffffff);
    border: 0.5px solid var(--dg-line, #e8e6e0);
    padding: var(--dg-space-xl, 32px);
    margin-bottom: var(--dg-space-md, 16px);
    transition: border-color var(--dg-motion-fast, 150ms);
}
.dg-addr-card:hover { border-color: var(--dg-ink, #1a1a1a); }

.dg-addr-card--default {
    background: var(--dg-cream, #fafaf7);
    border-left: 3px solid var(--dg-gold, #8b6f47);
    padding-left: calc(var(--dg-space-xl, 32px) - 3px);
    border-radius: 0;
}

.dg-addr-card--default-billing {
    background: var(--dg-cream, #fafaf7);
    border-left: 3px solid var(--dg-line, #e8e6e0);
    padding-left: calc(var(--dg-space-xl, 32px) - 3px);
    border-radius: 0;
}

.dg-addr-card--alt { /* additional addresses — no left accent */ }

.dg-addr-card__badge {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-gold, #8b6f47);
    font-weight: var(--dg-weight-medium, 500);
    margin-bottom: var(--dg-space-md, 16px);
}
.dg-addr-card__badge-sub {
    color: var(--dg-muted, #6b6b6b);
    font-weight: var(--dg-weight-regular, 400);
}

.dg-addr-card__body {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    line-height: var(--dg-leading-loose, 1.75);
    color: var(--dg-ink, #1a1a1a);
    margin-bottom: var(--dg-space-md, 16px);
    font-style: normal;
}

.dg-addr-card__actions {
    display: flex;
    align-items: center;
    gap: var(--dg-space-xs, 8px);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
}

.dg-addr-card__link {
    color: var(--dg-ink, #1a1a1a);
    text-decoration: none;
    border-bottom: 0.5px solid var(--dg-ink, #1a1a1a);
    padding-bottom: 2px;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-addr-card__link:hover {
    color: var(--dg-gold, #8b6f47);
    border-bottom-color: var(--dg-gold, #8b6f47);
}

.dg-addr-card__link--danger {
    color: var(--dg-muted, #6b6b6b);
    border-bottom-color: var(--dg-muted, #6b6b6b);
}
.dg-addr-card__link--danger:hover {
    color: var(--dg-error, #a04545);
    border-bottom-color: var(--dg-error, #a04545);
}

.dg-addr-card__divider {
    color: var(--dg-faint, #999999);
    font-size: var(--dg-text-xs, 12px);
}

.dg-addr-list__section-head { margin: var(--dg-space-2xl, 48px) 0 0; }
.dg-addr-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dg-space-md, 16px);
    margin-top: var(--dg-space-md, 16px);
}
.dg-addr-add { margin-top: var(--dg-space-xl, 32px); }


/* =====================================================================
   PART 9 — EMPTY STATE (generic dg-empty)
   ===================================================================== */

.dg-empty {
    background: var(--dg-cream, #fafaf7);
    border: 1px dashed var(--dg-line, #e8e6e0);
    padding: var(--dg-space-3xl, 64px) var(--dg-space-xl, 32px);
    text-align: center;
    margin-bottom: var(--dg-space-xl, 32px);
}

.dg-empty__eyebrow {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-gold, #8b6f47);
    font-weight: var(--dg-weight-medium, 500);
    margin-bottom: var(--dg-space-sm, 12px);
}

.dg-empty__title {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-xl, 28px);
    font-weight: var(--dg-weight-regular, 400);
    color: var(--dg-ink, #1a1a1a);
    margin: 0 0 var(--dg-space-md, 16px);
    letter-spacing: var(--dg-tracking-tight, -0.01em);
}

.dg-empty__lede {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    line-height: var(--dg-leading-normal, 1.55);
    color: var(--dg-muted, #6b6b6b);
    max-width: 480px;
    margin: 0 auto;
}


/* =====================================================================
   PART 10 — DASHBOARD (Phase 7b)
   ===================================================================== */

.dg-acct-dashboard__hero { margin: 0 0 var(--dg-space-2xl, 48px); }

.dg-acct-dashboard__eyebrow {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-muted, #6b6b6b);
    margin: 0 0 var(--dg-space-xs, 8px);
}
.dg-acct-dashboard__eyebrow--inline { margin-bottom: var(--dg-space-xs, 8px); }

.dg-acct-dashboard__title {
    font-family: var(--dg-font-serif);
    font-size: clamp(34px, 4.2vw, 44px);
    font-weight: var(--dg-weight-regular, 400);
    line-height: var(--dg-leading-tight, 1.15);
    letter-spacing: var(--dg-tracking-tight, -0.01em);
    color: var(--dg-ink, #1a1a1a);
    margin: 0;
}

/* Size profile snapshot card */
.dg-acct-dashboard__size-card {
    background: var(--dg-stone, #f1efe9);
    padding: var(--dg-space-lg, 24px) var(--dg-space-xl, 32px);
    margin-bottom: var(--dg-space-2xl, 48px);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--dg-space-lg, 24px);
    align-items: center;
}
.dg-acct-dashboard__size-card-body { min-width: 0; }
.dg-acct-dashboard__size-card-name {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-lg, 22px);
    font-weight: var(--dg-weight-regular, 400);
    line-height: 1.15;
    color: var(--dg-ink, #1a1a1a);
    margin: 0 0 var(--dg-space-xs, 8px);
}
.dg-acct-dashboard__size-card-desc {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 13px);
    color: var(--dg-ink-soft, #4a4a4a);
    line-height: 1.5;
    margin: 0 0 var(--dg-space-sm, 10px);
    font-style: italic;
}
.dg-acct-dashboard__size-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 4px;
    align-items: baseline;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-muted, #6b6b6b);
    line-height: 1.6;
}
.dg-acct-dashboard__size-card-meta-sep { color: var(--dg-line, #c0bca8); margin: 0 6px; }
.dg-acct-dashboard__size-card-meta-item {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    white-space: nowrap;
}
.dg-acct-dashboard__size-card-meta-label {
    color: var(--dg-muted, #6b6b6b);
    font-weight: var(--dg-weight-regular, 400);
}
.dg-acct-dashboard__size-card-meta-value {
    color: var(--dg-ink, #1a1a1a);
    font-weight: var(--dg-weight-medium, 500);
    font-variant-numeric: tabular-nums;
}
.dg-acct-dashboard__size-card-meta-updated {
    color: var(--dg-faint, #999999);
    font-style: italic;
}
.dg-acct-dashboard__size-card--empty {
    background: var(--dg-cream, #fafaf7);
    border: 0.5px dashed var(--dg-line, #d8d2c4);
}

/* Info grid (contact + address) */
.dg-acct-dashboard__info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dg-space-xl, 32px);
    margin-bottom: var(--dg-space-2xl, 48px);
}

.dg-acct-card__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--dg-space-sm, 12px);
    gap: var(--dg-space-sm, 12px);
}
.dg-acct-card__title {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    font-weight: var(--dg-weight-regular, 400);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-muted, #6b6b6b);
    margin: 0;
}
.dg-acct-card__action {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-gold, #8b6f47);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-acct-card__action:hover { color: var(--dg-gold-soft, #b8956a); }
.dg-acct-card__body {
    border: 0.5px solid var(--dg-line, #e8e6e0);
    padding: var(--dg-space-lg, 24px);
    background: var(--dg-paper, #fff);
}
.dg-acct-card__line {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    color: var(--dg-ink, #1a1a1a);
    line-height: var(--dg-leading-normal, 1.55);
}
.dg-acct-card__line + .dg-acct-card__line { margin-top: 2px; }
.dg-acct-card__line--muted {
    color: var(--dg-muted, #6b6b6b);
    font-size: var(--dg-text-xs, 13px);
}
.dg-acct-card__address {
    font-style: normal;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 13px);
    line-height: var(--dg-leading-normal, 1.6);
    color: var(--dg-ink, #1a1a1a);
}
.dg-acct-card__link {
    display: inline-block;
    margin-top: var(--dg-space-md, 16px);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 11px);
    color: var(--dg-gold, #8b6f47);
    text-decoration: underline;
    text-underline-offset: 3px;
    letter-spacing: 0.02em;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-acct-card__link:hover { color: var(--dg-gold-soft, #b8956a); }

/* Quick actions tiles */
.dg-acct-dashboard__quick { margin-bottom: var(--dg-space-3xl, 64px); }
.dg-acct-dashboard__quick .dg-acct-dashboard__eyebrow { margin-bottom: var(--dg-space-sm, 14px); }

.dg-acct-dashboard__tiles {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--dg-space-md, 16px);
}
.dg-acct-dashboard__tile-item { margin: 0; }
.dg-acct-dashboard__tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: var(--dg-space-xl, 28px) var(--dg-space-md, 16px);
    background: var(--dg-paper, #fff);
    border: 0.5px solid var(--dg-line, #d3d1c7);
    text-decoration: none;
    transition: background var(--dg-motion-fast, 150ms), border-color var(--dg-motion-fast, 150ms);
    min-height: 100px;
}
.dg-acct-dashboard__tile:hover {
    background: var(--dg-cream, #fafaf7);
    border-color: var(--dg-ink, #1a1a1a);
}
.dg-acct-dashboard__tile-num {
    font-family: var(--dg-font-serif);
    font-size: 28px;
    line-height: 1;
    color: var(--dg-ink, #1a1a1a);
    margin-bottom: var(--dg-space-sm, 10px);
}
.dg-acct-dashboard__tile-label {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--dg-ink-soft, #4a4a4a);
}

/* Recent wishlist */
.dg-acct-dashboard__wishlist {
    margin-top: var(--dg-space-md, 8px);
    padding-top: var(--dg-space-2xl, 40px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
}
.dg-acct-dashboard__wishlist-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: var(--dg-space-lg, 20px);
    gap: var(--dg-space-md, 16px);
}
.dg-acct-dashboard__wishlist-title {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-lg, 22px);
    font-weight: var(--dg-weight-regular, 400);
    line-height: 1.15;
    color: var(--dg-ink, #1a1a1a);
    margin: 0;
}
.dg-acct-dashboard__wishlist-link {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 11px);
    color: var(--dg-gold, #8b6f47);
    text-decoration: underline;
    text-underline-offset: 3px;
    flex: 0 0 auto;
    white-space: nowrap;
}
.dg-acct-dashboard__wishlist-link:hover { color: var(--dg-gold-soft, #b8956a); }

.dg-acct-wish-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--dg-space-md, 18px);
}

.dg-acct-wish-card { position: relative; margin: 0; }
.dg-acct-wish-card__media-link { display: block; text-decoration: none; }
.dg-acct-wish-card__media {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    position: relative;
    background: var(--dg-stone, #f1efe9);
    margin-bottom: var(--dg-space-sm, 12px);
}
.dg-acct-wish-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform var(--dg-motion-slow, 400ms) var(--dg-ease, cubic-bezier(.4,0,.2,1));
}
.dg-acct-wish-card__media-link:hover .dg-acct-wish-card__img {
    transform: scale(1.03);
}

.dg-acct-wish-card__heart {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.95);
    color: var(--dg-gold, #8b6f47);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background var(--dg-motion-fast, 150ms),
                transform var(--dg-motion-fast, 150ms),
                color var(--dg-motion-fast, 150ms);
    z-index: 2;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.dg-acct-wish-card__heart:hover {
    background: var(--dg-paper, #fff);
    color: var(--dg-error, #a04545);
    transform: scale(1.08);
}
.dg-acct-wish-card__heart:active { transform: scale(0.95); }

.dg-acct-wish-card__info { display: block; text-decoration: none; color: inherit; }
.dg-acct-wish-card__brand {
    font-family: var(--dg-font-sans);
    font-size: 9px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--dg-faint, #999999);
    margin-bottom: 3px;
}
.dg-acct-wish-card__name {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-ink, #1a1a1a);
    line-height: var(--dg-leading-snug, 1.3);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.dg-acct-wish-card__price {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 11px);
    color: var(--dg-muted, #6b6b6b);
    margin-top: 4px;
}

/* Wishlist empty state */
.dg-acct-wish-empty {
    background: var(--dg-cream, #fafaf7);
    border: 0.5px dashed var(--dg-line, #d8d2c4);
    padding: var(--dg-space-3xl, 56px) var(--dg-space-xl, 32px);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.dg-acct-wish-empty__icon {
    color: var(--dg-line, #d3d1c7);
    margin-bottom: var(--dg-space-md, 16px);
    line-height: 0;
}
.dg-acct-wish-empty__copy {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    line-height: var(--dg-leading-normal, 1.6);
    color: var(--dg-ink-soft, #4a4a4a);
    max-width: 42ch;
    margin: 0 0 var(--dg-space-lg, 22px);
}
.dg-acct-wish-empty .dg-acct-btn--sm { align-self: center; }


/* =====================================================================
   PART 11 — CUSTSIZE FIX (size profile list page)
   ---------------------------------------------------------------------
   The Phase 7c size profile list (.dg-custsize) was constrained by its
   own header `max-width: 560px` making the page look narrower than
   Dashboard. We expand the wrapper + header to match Dashboard width.
   The sub-headline keeps a comfortable reading width.
   ===================================================================== */

.dg-custsize {
    width: 100%;
    max-width: none;
    /*padding: var(--dg-space-2xl, 48px) 0 var(--dg-space-4xl, 96px);*/
    box-sizing: border-box;
}

.dg-custsize__head {
    max-width: none;
    padding: 0 0 var(--dg-space-xl, 32px);
    margin-bottom: var(--dg-space-2xl, 48px);
}

.dg-custsize__sub {
    max-width: 640px;
}

/* Force the wrapper to fill — works whether or not the layout XML
   adds setElementClass="dg-acct-custsize-wrapper". Targets the immediate
   parent of .dg-custsize inside the account shell. */
.dg-acct__main > .dg-custsize,
.dg-acct-custsize-wrapper {
    width: 100%;
    max-width: none;
}


/* =====================================================================
   PART 12 — RESPONSIVE (mobile ≤1023px)
   ---------------------------------------------------------------------
   The mobile sidebar pill (`.dg-mobile-acct`) is handled by
   `_62_account_mobile_menu.css`. Here we only adapt the content side.
   ===================================================================== */

@media (max-width: 1023px) {

    /* Shell → single column; sidebar hidden (pill takes over) */
    .dg-acct { display: block; }
    .dg-acct__sidebar { display: none; }

    .dg-acct__mobile-nav {
        display: block;
        background: var(--dg-paper, #ffffff);
        border-bottom: 0.5px solid var(--dg-line, #e8e6e0);
        padding: var(--dg-space-md, 16px) 0;
        position: sticky;
        top: 0;
        z-index: var(--dg-z-sticky, 50);
    }
    .dg-acct__mobile-nav-scroll {
        display: flex;
        gap: var(--dg-space-xs, 8px);
        padding: 0 var(--dg-gutter, 16px);
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .dg-acct__mobile-nav-scroll::-webkit-scrollbar { display: none; }
    .dg-acct__mobile-nav-link {
        flex: 0 0 auto;
        padding: var(--dg-space-sm, 12px) var(--dg-space-md, 16px);
        background: var(--dg-paper, #ffffff);
        border: 0.5px solid var(--dg-line, #e8e6e0);
        color: var(--dg-ink-soft, #4a4a4a);
        font-family: var(--dg-font-sans);
        font-size: var(--dg-text-xxs, 11px);
        letter-spacing: var(--dg-tracking-wide, 0.1em);
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
        transition: background var(--dg-motion-fast, 150ms), color var(--dg-motion-fast, 150ms);
    }
    .dg-acct__mobile-nav-link.is-active {
        background: var(--dg-ink, #1a1a1a);
        color: var(--dg-paper, #ffffff);
        border-color: var(--dg-ink, #1a1a1a);
    }

    .dg-acct__main {
        padding: var(--dg-space-xl, 32px) var(--dg-gutter, 16px);
    }
    .dg-acct__heading-title { font-size: var(--dg-text-2xl, 38px); }

    /* Auth split stacks */
    .dg-acct-auth { padding: var(--dg-space-xl, 32px) var(--dg-gutter, 16px); }
    .dg-acct-auth__split {
        grid-template-columns: 1fr;
        gap: var(--dg-space-2xl, 48px);
    }
    .dg-acct-auth__col--existing {
        padding-right: 0;
        padding-bottom: var(--dg-space-2xl, 48px);
        border-right: none;
        border-bottom: 0.5px solid var(--dg-line, #e8e6e0);
    }
    .dg-acct-auth__col--new { padding-left: 0; }
    .dg-acct-auth__title { font-size: var(--dg-text-xl, 28px); }
    .dg-acct-auth--register,
    .dg-acct-auth--forgot {
        padding-top: var(--dg-space-2xl, 48px);
        padding-bottom: var(--dg-space-2xl, 48px);
    }
    .dg-acct-auth--register .dg-acct-form__field--row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    /* Phase 7e wrappers */
    .dg-acct-dashboard-wrapper,
    .dg-acct-address-wrapper,
    .dg-acct-address-form-wrapper,
    .dg-acct-info-wrapper,
    .dg-acct-newsletter-wrapper,
    .dg-acct-custsize-wrapper { padding: 0; }

    .dg-acct-page {
        max-width: none;
        padding: var(--dg-space-xl, 32px) 0 var(--dg-space-3xl, 64px);
    }
    .dg-acct-page__title { font-size: var(--dg-text-xl, 28px); }

    .dg-acct-page__split {
        grid-template-columns: 1fr;
        gap: var(--dg-space-xl, 32px);
    }
    .dg-acct-page__rail {
        border-left: 0;
        border-top: 0.5px solid var(--dg-line, #e8e6e0);
        padding-left: 0;
        padding-top: var(--dg-space-lg, 24px);
        margin-top: var(--dg-space-md, 16px);
    }

    /* Form rows stack */
    .dg-form__row--split {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .dg-form__actions {
        flex-direction: column;
        align-items: stretch;
        gap: var(--dg-space-md, 16px);
    }
    .dg-form__actions .dg-btn { width: 100%; }
    .dg-form__back-link { text-align: center; }

    /* Address cards mobile */
    .dg-addr-card { padding: var(--dg-space-lg, 24px); }
    .dg-addr-card--default {
        padding-left: calc(var(--dg-space-lg, 24px) - 3px);
    }

    /* Dashboard mobile */
    .dg-acct-dashboard__title { font-size: clamp(26px, 8vw, 36px); }
    .dg-acct-dashboard__size-card {
        grid-template-columns: 1fr;
        gap: var(--dg-space-md, 14px);
        padding: var(--dg-space-lg, 18px) var(--dg-space-md, 16px);
    }
    .dg-acct-dashboard__size-card-desc {
        font-size: var(--dg-text-xs, 12px);
        margin-bottom: var(--dg-space-xs, 8px);
    }
    .dg-acct-dashboard__size-card .dg-acct-btn--sm {
        align-self: flex-start;
    }
    .dg-acct-dashboard__info-grid {
        grid-template-columns: 1fr;
        gap: var(--dg-space-md, 14px);
        margin-bottom: var(--dg-space-xl, 32px);
    }
    .dg-acct-dashboard__tiles {
        grid-template-columns: 1fr 1fr;
        gap: var(--dg-space-xs, 8px);
    }
    .dg-acct-dashboard__tile {
        padding: var(--dg-space-md, 18px) var(--dg-space-sm, 10px);
        min-height: 84px;
    }
    .dg-acct-dashboard__tile-num { font-size: 22px; }
    .dg-acct-dashboard__tile-label { font-size: 10px; letter-spacing: 0.12em; }
    .dg-acct-wish-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--dg-space-sm, 12px);
    }
    .dg-acct-wish-card__heart { width: 32px; height: 32px; }
    .dg-acct-wish-empty {
        padding: var(--dg-space-2xl, 40px) var(--dg-space-md, 18px);
    }
    .dg-acct-wish-empty__copy {
        font-size: var(--dg-text-xs, 13px);
        max-width: none;
    }
}


/* =====================================================================
   PART 13 — PRINT (graceful degradation)
   ===================================================================== */

@media print {
    .dg-acct__sidebar,
    .dg-acct__mobile-nav,
    .dg-acct__signout,
    .dg-acct-page__rail { display: none; }
    .dg-acct { grid-template-columns: 1fr; }
    .dg-acct-page__split { grid-template-columns: 1fr; }
}

/* =====================================================================
   _62_account_mobile_menu.css — append (May 2026)
   ---------------------------------------------------------------------
   .dg-acct-nav is the HIDDEN clone source rendered by
   customer/account/navigation_links.phtml on standalone pages
   (My Wishlist, My Compare) which use page/full-width.phtml.

   It exists ONLY so account-mobile-menu.js can read the link list
   and build the mobile pill. It must NEVER be visible itself —
   on any breakpoint. The existing rule only hid it ≤1023px, which
   left the raw <ul> showing on desktop. This pins it hidden always.
   ===================================================================== */

.dg-acct-nav[data-dg-acct-nav-source] {
    display: none !important;
}

/* === END append === */



/* =====================================================================
   _60_account.css — PART 14: ORDERS (Phase 7d)
   ---------------------------------------------------------------------
   Order history (card list + filter pills + status pills + empty)
   Order detail (editorial split: items+totals+addr | atelier rail)
   Line items (bespoke spec grid / ready-made minimal, auto-detected)
   Totals (no VAT breakdown row — single legal line, per rule)

   Reuses existing tokens + .dg-acct-page / __split / __rail / __form
   / .dg-empty / .dg-btn from earlier parts. Append only — no edits
   to parts 1–13.
   ===================================================================== */


/* ── Status pills (shared: history cards + detail header) ── */

.dg-ord-pill {
    display: inline-block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-wide, 0.13em);
    text-transform: uppercase;
    font-weight: var(--dg-weight-medium, 500);
    padding: 5px 12px;
    border-radius: 0;
    line-height: 1.2;
}
.dg-ord-pill--pending    { background: #FAEEDA; color: #633806; }
.dg-ord-pill--processing { background: #E6F1FB; color: #042C53; }
.dg-ord-pill--complete   { background: #E1F5EE; color: #04342C; }
.dg-ord-pill--canceled   { background: var(--dg-stone, #f1efe9); color: var(--dg-muted, #5F5E5A); }
.dg-ord-pill--closed     { background: var(--dg-stone, #f1efe9); color: var(--dg-muted, #5F5E5A); }


/* ── Filter pills ── */

.dg-ord-filters {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dg-space-xs, 8px);
    margin-bottom: var(--dg-space-xl, 32px);
}

.dg-ord-filter {
    display: inline-flex;
    align-items: center;
    gap: var(--dg-space-xs, 8px);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    letter-spacing: var(--dg-tracking-wide, 0.05em);
    text-transform: uppercase;
    color: var(--dg-muted, #6b6b6b);
    background: var(--dg-paper, #fff);
    border: 0.5px solid var(--dg-line, #e8e6e0);
    border-radius: 0;
    padding: var(--dg-space-sm, 10px) var(--dg-space-md, 16px);
    cursor: pointer;
    transition: background var(--dg-motion-fast, 150ms),
                color var(--dg-motion-fast, 150ms),
                border-color var(--dg-motion-fast, 150ms);
    -webkit-appearance: none;
    appearance: none;
}
.dg-ord-filter:hover {
    border-color: var(--dg-ink, #1a1a1a);
    color: var(--dg-ink, #1a1a1a);
}
.dg-ord-filter.is-active {
    background: var(--dg-ink, #1a1a1a);
    color: var(--dg-paper, #fff);
    border-color: var(--dg-ink, #1a1a1a);
}
.dg-ord-filter__count {
    font-size: var(--dg-text-xxs, 11px);
    opacity: 0.75;
    font-variant-numeric: tabular-nums;
}


/* ── Order history card list ── */

.dg-ord-list {
    display: flex;
    flex-direction: column;
    gap: var(--dg-space-md, 16px);
}

.dg-ord-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--dg-space-lg, 24px);
    align-items: center;
    background: var(--dg-paper, #fff);
    border: 0.5px solid var(--dg-line, #e8e6e0);
    padding: var(--dg-space-lg, 24px) var(--dg-space-xl, 28px);
    transition: border-color var(--dg-motion-fast, 150ms),
                box-shadow var(--dg-motion-fast, 150ms);
}
.dg-ord-card:hover {
    border-color: var(--dg-ink, #1a1a1a);
    box-shadow: 0 1px 0 var(--dg-ink, #1a1a1a);
}

/* Whole-card click target (stretched link). Sits above the card
   content but below interactive children that opt back in with a
   higher z-index (e.g. the Reorder link). */
.dg-ord-card__hit {
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 0;
    background: transparent;
    text-indent: -9999px;
    overflow: hidden;
}
.dg-ord-card__hit:focus-visible {
    outline: 2px solid var(--dg-gold, #8b6f47);
    outline-offset: -2px;
}
/* Content sits visually above the hit link but is pointer-
   transparent, so a click anywhere on the card (text included)
   passes through to the stretched link underneath. Real
   interactive children opt back in below. */
.dg-ord-card > *:not(.dg-ord-card__hit) {
    position: relative;
    z-index: 2;
    pointer-events: none;
}

.dg-ord-card__main { min-width: 0; }

.dg-ord-card__num {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-md, 18px);
    color: var(--dg-ink, #1a1a1a);
    margin: var(--dg-space-sm, 10px) 0 var(--dg-space-xxs, 4px);
}
.dg-ord-card__date {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-faint, #999);
    letter-spacing: var(--dg-tracking-wide, 0.04em);
    margin: 0 0 var(--dg-space-sm, 10px);
}
.dg-ord-card__items {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-muted, #6b6b6b);
    margin: 0;
}

.dg-ord-card__aside {
    text-align: right;
    white-space: nowrap;
}
.dg-ord-card__total {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-lg, 22px);
    color: var(--dg-ink, #1a1a1a);
    margin: 0 0 var(--dg-space-sm, 10px);
}
.dg-ord-card__link {
    display: inline-block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    letter-spacing: var(--dg-tracking-wide, 0.05em);
    color: var(--dg-ink, #1a1a1a);
    border-bottom: 0.5px solid var(--dg-ink, #1a1a1a);
    padding-bottom: 1px;
    transition: color var(--dg-motion-fast, 150ms),
                border-color var(--dg-motion-fast, 150ms);
}
.dg-ord-card:hover .dg-ord-card__link {
    color: var(--dg-gold, #8b6f47);
    border-bottom-color: var(--dg-gold, #8b6f47);
}
.dg-ord-card__reorder {
    /* opt back into pointer events above the stretched link */
    position: relative;
    z-index: 3;
    pointer-events: auto;
    display: inline-block;
    margin-top: var(--dg-space-sm, 10px);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-wide, 0.05em);
    color: var(--dg-muted, #6b6b6b);
    text-decoration: none;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-ord-card__reorder:hover { color: var(--dg-ink, #1a1a1a); text-decoration: underline; }

.dg-ord-empty-filtered {
    padding: var(--dg-space-3xl, 64px) var(--dg-space-xl, 32px);
    text-align: center;
}
.dg-ord-empty-filtered__text {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    color: var(--dg-muted, #6b6b6b);
    margin: 0;
}

.dg-ord-pager {
    margin-top: var(--dg-space-xl, 32px);
    padding-top: var(--dg-space-lg, 24px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
}


/* ── Order detail ── */

.dg-ord-back {
    display: inline-block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    letter-spacing: var(--dg-tracking-wide, 0.05em);
    color: var(--dg-muted, #6b6b6b);
    text-decoration: none;
    margin-bottom: var(--dg-space-md, 16px);
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-ord-back:hover { color: var(--dg-ink, #1a1a1a); }

.dg-acct-page--order-detail .dg-acct-page__lede { margin-top: var(--dg-space-sm, 12px); }


/* ── Detail split / rail markers (inherit base; hooks for tweaks) ── */
.dg-ord-split { /* inherits .dg-acct-page__split */ }
.dg-ord-rail  { /* inherits .dg-acct-page__rail */ }


/* ── Items list ── */

.dg-ord-items { /* container */ }
.dg-ord-items__list {
    margin: 0 0 var(--dg-space-md, 16px);
}
.dg-ord-li--bespoke { /* tag-driven; see .dg-ord-li__tag--bespoke */ }
.dg-ord-li--ready   { /* tag-driven; see .dg-ord-li__tag--ready */ }
.dg-ord-info { /* address/payment cell — children styled below */ }

.dg-ord-items__caption {
    margin: 0 0 var(--dg-space-md, 16px);
}
.dg-ord-info__h {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: var(--dg-tracking-widest, 0.2em);
    text-transform: uppercase;
    color: var(--dg-muted, #6b6b6b);
    font-weight: var(--dg-weight-medium, 500);
    margin: 0 0 var(--dg-space-sm, 12px);
}

.dg-ord-li {
    display: flex;
    gap: var(--dg-space-lg, 20px);
    padding: var(--dg-space-lg, 22px) 0;
    border-bottom: 0.5px solid var(--dg-line, #e8e6e0);
}
.dg-ord-li:last-child { border-bottom: 0; }

/* Product thumbnail + bespoke/ready badge */
.dg-ord-li__thumb {
    flex: 0 0 auto;
    width: 88px;
    height: 110px;
    position: relative;
    background: var(--dg-stone, #f1efe9);
    overflow: hidden;
}
.dg-ord-li__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dg-ord-li__thumb.is-empty { background: var(--dg-stone, #f1efe9); }
.dg-ord-li__thumb-ph {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-2xl, 32px);
    color: var(--dg-faint, #b8b6ac);
    text-transform: uppercase;
}
.dg-ord-li__badge {
    position: absolute;
    left: 0;
    bottom: 0;
    font-family: var(--dg-font-sans);
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: var(--dg-weight-medium, 500);
    padding: 4px 7px;
    line-height: 1;
}
.dg-ord-li__badge--bespoke { background: var(--dg-ink, #1a1a1a); color: var(--dg-paper, #fff); }
.dg-ord-li__badge--ready   { background: #E1F5EE; color: #04342C; }

.dg-ord-li__body {
    flex: 1 1 auto;
    min-width: 0;
}
.dg-ord-li__name {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-md, 18px);
    font-weight: var(--dg-weight-regular, 400);
    color: var(--dg-ink, #1a1a1a);
    margin: 0 0 var(--dg-space-xxs, 4px);
    line-height: var(--dg-leading-snug, 1.3);
}
.dg-ord-li__meta {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-faint, #999);
    margin: 0 0 var(--dg-space-sm, 12px);
}
.dg-ord-li__meta strong {
    color: var(--dg-ink, #1a1a1a);
    font-weight: var(--dg-weight-medium, 500);
}
.dg-ord-li__sep { margin: 0 var(--dg-space-xs, 8px); color: var(--dg-line, #d3d1c7); }
.dg-ord-li__sku { letter-spacing: 0.02em; }

.dg-ord-li__attr {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 13px);
    color: var(--dg-ink-soft, #4a4a4a);
    margin: 0;
    line-height: var(--dg-leading-normal, 1.6);
}
.dg-ord-li__attr-k { color: var(--dg-muted, #6b6b6b); }
.dg-ord-li__attr-v { color: var(--dg-ink, #1a1a1a); font-weight: var(--dg-weight-medium, 500); margin-right: 8px; }

.dg-ord-li__desc {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-muted, #6b6b6b);
    margin: var(--dg-space-sm, 8px) 0 0;
    line-height: var(--dg-leading-normal, 1.55);
}

.dg-ord-li__price {
    flex: 0 0 auto;
    text-align: right;
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-md, 18px);
    color: var(--dg-ink, #1a1a1a);
    white-space: nowrap;
}
.dg-ord-li__price-each {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    color: var(--dg-faint, #999);
    margin-top: 2px;
}


/* \u2500\u2500 Bespoke specification grid (with swatch images) \u2500\u2500 */

.dg-ord-spec {
    background: var(--dg-cream, #fafaf7);
    border: 0.5px solid var(--dg-line, #e8e6e0);
    padding: var(--dg-space-md, 14px) var(--dg-space-md, 16px);
    margin-top: var(--dg-space-xs, 8px);
}
.dg-ord-spec__h {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 10px);
    letter-spacing: var(--dg-tracking-widest, 0.18em);
    text-transform: uppercase;
    color: var(--dg-gold, #8b6f47);
    font-weight: var(--dg-weight-medium, 500);
    margin: 0 0 var(--dg-space-md, 14px);
}
.dg-ord-spec__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dg-space-md, 14px) var(--dg-space-xl, 28px);
}
.dg-ord-spec__row {
    display: flex;
    align-items: center;
    gap: var(--dg-space-sm, 12px);
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    min-width: 0;
}
.dg-ord-spec__thumb {
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    background: var(--dg-paper, #fff);
    border: 0.5px solid var(--dg-line, #e8e6e0);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dg-ord-spec__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
/* Editorial placeholder when no swatch image exists (old orders
   whose product was deleted) or the image 404s. Quiet-luxury:
   cream ground, hairline, faint serif initials — reads as
   intentional, not a broken image. */
.dg-ord-spec__dummy {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dg-cream, #fafaf7);
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-sm, 14px);
    letter-spacing: 0.04em;
    color: var(--dg-faint, #b8b6ac);
}
.dg-ord-spec__txt {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}
.dg-ord-spec__k {
    color: var(--dg-muted, #6b6b6b);
    font-size: var(--dg-text-xxs, 11px);
    letter-spacing: 0.02em;
}
.dg-ord-spec__v {
    color: var(--dg-ink, #1a1a1a);
    font-weight: var(--dg-weight-medium, 500);
    font-size: var(--dg-text-xs, 12px);
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: var(--dg-leading-snug, 1.35);
}


/* \u2500\u2500 Size profile card(s) \u2500\u2500 */

.dg-ord-sizeprofiles {
    margin-top: var(--dg-space-xl, 28px);
    display: flex;
    flex-direction: column;
    gap: var(--dg-space-md, 16px);
}
.dg-ord-sizecard {
    background: var(--dg-cream, #fafaf7);
    border: 0.5px solid var(--dg-line, #e8e6e0);
    padding: var(--dg-space-lg, 20px) var(--dg-space-xl, 24px);
    margin-top: 20px;
}
.dg-ord-sizecard__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--dg-space-lg, 24px);
    margin-bottom: var(--dg-space-md, 16px);
    padding-bottom: var(--dg-space-sm, 12px);
    border-bottom: 0.5px solid var(--dg-line, #e8e6e0);
}
.dg-ord-sizecard__id { min-width: 0; }
.dg-ord-sizecard__eyebrow {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 10px);
    letter-spacing: var(--dg-tracking-widest, 0.18em);
    text-transform: uppercase;
    color: var(--dg-gold, #8b6f47);
    font-weight: var(--dg-weight-medium, 500);
    margin-bottom: var(--dg-space-xxs, 4px);
}
.dg-ord-sizecard__name {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-lg, 22px);
    color: var(--dg-ink, #1a1a1a);
    margin: 0;
}
.dg-ord-sizecard__desc {
    flex: 0 0 auto;
    max-width: 45%;
    text-align: right;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    font-style: italic;
    color: var(--dg-muted, #6b6b6b);
    margin: 0;
    padding-top: 2px;
    line-height: var(--dg-leading-snug, 1.4);
}
/* Desktop: 2 columns; readable value widths */
.dg-ord-sizecard__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dg-space-xs, 6px) var(--dg-space-2xl, 48px);
    margin: 0;
}

/* Row = horizontal label/value, baseline-aligned */
.dg-ord-sizecard__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--dg-space-md, 16px);
    border-bottom: 0.5px dotted var(--dg-line, #e8e6e0);
    padding: var(--dg-space-xxs, 4px) 0 var(--dg-space-xxs, 4px);
    min-width: 0;
}

.dg-ord-sizecard__row dt {
    flex: 0 1 auto;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-muted, #6b6b6b);
    margin: 0;
    line-height: 1.4;
    /* Allow label to wrap on small viewports */
    word-break: normal;
    overflow-wrap: break-word;
}

.dg-ord-sizecard__row dd {
    flex: 1 1 auto;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-ink, #1a1a1a);
    font-weight: var(--dg-weight-medium, 500);
    margin: 0;
    text-align: right;
    line-height: 1.4;
    /* Critical: NEVER nowrap — allow value to wrap if long
       ("Square Shoulders", "Make a new measurement", etc.) */
    word-break: normal;
    overflow-wrap: break-word;
    min-width: 0;
}

.dg-ord-sizecard__row.is-empty dd {
    color: var(--dg-faint, #b8b6ac);
    font-weight: var(--dg-weight-regular, 400);
}

.dg-ord-sizecard__unit {
    color: var(--dg-faint, #999);
    font-weight: var(--dg-weight-regular, 400);
    font-size: var(--dg-text-xxs, 11px);
    margin-left: 2px;
}
.dg-ord-sizecard__row.is-empty dd {
    color: var(--dg-faint, #b8b6ac);
    font-weight: var(--dg-weight-regular, 400);
}
.dg-ord-sizecard__unit {
    color: var(--dg-faint, #999);
    font-weight: var(--dg-weight-regular, 400);
    font-size: var(--dg-text-xxs, 11px);
}




/* ── Totals ── */

.dg-ord-totals {
    margin-top: var(--dg-space-lg, 24px);
    padding-top: var(--dg-space-md, 16px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
}
.dg-ord-totals__table {
    width: 100%;
    border-collapse: collapse;
}
.dg-ord-totals__row td {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 13px);
    color: var(--dg-muted, #6b6b6b);
    padding: var(--dg-space-xs, 5px) 0;
}
.dg-ord-totals__label { text-align: left; }
.dg-ord-totals__value { text-align: right; white-space: nowrap; }
.dg-ord-totals__row--grand td {
    font-family: var(--dg-font-serif);
    font-size: var(--dg-text-md, 18px);
    color: var(--dg-ink, #1a1a1a);
    font-weight: var(--dg-weight-medium, 500);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
    padding-top: var(--dg-space-sm, 10px);
}
.dg-ord-totals__vat {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xxs, 11px);
    font-style: italic;
    color: var(--dg-faint, #999);
    margin: var(--dg-space-sm, 8px) 0 0;
}


/* ── Address / payment grid ── */

.dg-ord-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--dg-space-xl, 28px);
    margin-top: var(--dg-space-2xl, 40px);
    padding-top: var(--dg-space-xl, 28px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
}
.dg-ord-info__b {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 13px);
    line-height: var(--dg-leading-loose, 1.7);
    color: var(--dg-ink, #1a1a1a);
    font-style: normal;
}
.dg-ord-info__sub {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-muted, #6b6b6b);
    margin: var(--dg-space-sm, 8px) 0 0;
}
.dg-ord-info__payment p { margin: 0 0 4px; }


/* ── Order updates (status history) ── */

.dg-ord-history {
    margin-top: var(--dg-space-xl, 32px);
    padding-top: var(--dg-space-lg, 24px);
    border-top: 0.5px solid var(--dg-line, #e8e6e0);
}
.dg-ord-history__list { margin: 0; }
.dg-ord-history__date {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-faint, #999);
    margin-top: var(--dg-space-sm, 12px);
}
.dg-ord-history__note {
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 13px);
    color: var(--dg-ink, #1a1a1a);
    margin: 2px 0 0;
    line-height: var(--dg-leading-normal, 1.55);
}


/* ── Status timeline rail ── */

.dg-ord-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
}
.dg-ord-timeline__step {
    position: relative;
    padding: 0 0 var(--dg-space-md, 16px) var(--dg-space-lg, 22px);
}
.dg-ord-timeline__step:last-child { padding-bottom: 0; }
.dg-ord-timeline__step::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dg-line, #d3d1c7);
}
.dg-ord-timeline__step::after {
    content: '';
    position: absolute;
    left: 3.5px;
    top: 12px;
    bottom: 0;
    width: 1px;
    background: var(--dg-line, #e8e6e0);
}
.dg-ord-timeline__step:last-child::after { display: none; }

.dg-ord-timeline__step.is-done::before    { background: var(--dg-gold, #8b6f47); }
.dg-ord-timeline__step.is-current::before {
    background: var(--dg-gold, #8b6f47);
    box-shadow: 0 0 0 3px rgba(139, 111, 71, 0.18);
}

.dg-ord-timeline__label {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 13px);
    font-weight: var(--dg-weight-medium, 500);
    color: var(--dg-faint, #b8b6ac);
    line-height: 1.3;
}
.dg-ord-timeline__desc {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-xs, 11px);
    color: var(--dg-faint, #b8b6ac);
    margin-top: 1px;
}
.dg-ord-timeline__step.is-done .dg-ord-timeline__label,
.dg-ord-timeline__step.is-current .dg-ord-timeline__label {
    color: var(--dg-ink, #1a1a1a);
}
.dg-ord-timeline__step.is-current .dg-ord-timeline__desc {
    color: var(--dg-gold, #8b6f47);
}

.dg-ord-cancelled {
    display: flex;
    align-items: flex-start;
    gap: var(--dg-space-sm, 12px);
}
.dg-ord-cancelled__dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dg-muted, #999);
    margin-top: 5px;
}
.dg-ord-cancelled strong {
    display: block;
    font-family: var(--dg-font-sans);
    font-size: var(--dg-text-sm, 14px);
    font-weight: var(--dg-weight-medium, 500);
    color: var(--dg-ink, #1a1a1a);
}
.dg-ord-cancelled__sub {
    display: block;
    font-size: var(--dg-text-xs, 12px);
    color: var(--dg-muted, #6b6b6b);
    margin-top: 2px;
    line-height: 1.5;
}
.dg-ord-cancelled--hold .dg-ord-cancelled__dot { background: var(--dg-warning, #c08948); }


/* ── Mobile (≤1023px) ── */

/* ── Narrow desktop (1024–1259px) — sidebar squeezes form col ──
   240px sidebar + 64px×2 padding leaves ~660–900px for items.
   At this width the price + body + thumb cluster all in one row
   becomes cramped. Stack price below body (full-width left-align)
   to give the spec grid and size-profile breathing room. */
@media (min-width: 1179px) and (max-width: 1259px) {
    .dg-ord-li {
        flex-wrap: wrap;
    }
    .dg-ord-li__body {
        flex: 1 1 calc(100% - 88px - var(--dg-space-lg, 20px));
    }
    .dg-ord-li__price {
        flex: 1 1 100%;
        text-align: left;
        margin-top: var(--dg-space-sm, 10px);
        padding-left: calc(88px + var(--dg-space-lg, 20px));
        font-size: var(--dg-text-lg, 22px);
    }
    .dg-ord-li__price-each {
        display: inline;
        margin-left: var(--dg-space-xs, 8px);
    }
}


/* ── Mobile (≤1023px) ── */

@media (max-width: 1178px) {
    .dg-ord-card {
        grid-template-columns: 1fr;
        gap: var(--dg-space-md, 16px);
    }
    .dg-ord-card__aside {
        text-align: left;
        border-top: 0.5px solid var(--dg-line, #e8e6e0);
        padding-top: var(--dg-space-md, 16px);
    }
    .dg-ord-card__reorder { display: inline-block; margin-left: var(--dg-space-md, 16px); margin-top: 0; }

    .dg-ord-spec__grid { grid-template-columns: 1fr; }

.dg-ord-sizecard__grid { 
        grid-template-columns: 1fr; 
        gap: 0; 
    }
    .dg-ord-sizecard__head { 
        flex-direction: column; 
        gap: var(--dg-space-sm, 10px); 
    }
    .dg-ord-sizecard__desc { 
        max-width: none; 
        text-align: left; 
        padding-top: 0; 
    }

    .dg-ord-li { flex-wrap: wrap; }
    .dg-ord-li__thumb { width: 64px; height: 80px; }
    .dg-ord-li__price {
        flex-basis: 100%;
        text-align: left;
        margin-top: var(--dg-space-sm, 10px);
        padding-left: calc(64px + var(--dg-space-lg, 20px));
    }

    .dg-ord-info-grid { grid-template-columns: 1fr; gap: var(--dg-space-lg, 20px); }

    .dg-ord-filters { gap: 6px; }
    .dg-ord-filter { padding: 8px 12px; font-size: var(--dg-text-xxs, 11px); }
}

@media (max-width: 600px) {
    .dg-ord-sizecard__grid { grid-template-columns: 1fr; }
}
@media (max-width: 453px) {
    .dg-ord-li__price {
        padding-left: 0px;
    }
}

/* =====================================================================
   END PART 14 — ORDERS (Phase 7d)
   ===================================================================== */


   /* ─── DG-order-detail product links (renderer/default.phtml) ───
   Thumb image + product name both link to PDP. Quiet luxury:
   no visible underline, gentle gold on hover. */
.dg-ord-li__thumb-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}
.dg-ord-li__thumb-link img {
    transition: opacity var(--dg-motion-fast, 150ms);
}
.dg-ord-li__thumb-link:hover img {
    opacity: 0.85;
}
.dg-ord-li__name-link {
    color: inherit;
    text-decoration: none;
    transition: color var(--dg-motion-fast, 150ms);
}
.dg-ord-li__name-link:hover {
    color: var(--dg-gold, #8b6f47);
}



/* =====================================================================
   END  _60_account.css
   ===================================================================== */
