/**
 * My Account ("Moje konto"). Loaded only on is_account_page(). Consistent with
 * cart/checkout/thank-you: Roboto (self-hosted) body, Inter headings/buttons,
 * pink #ed3166, soft #fbf7f8 cards, #fef4fa panels, sharp corners + pill buttons.
 * Skins the classic [woocommerce_my_account] output (WC default CSS not dequeued,
 * so several rules out-specify `.woocommerce …`).
 */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/roboto-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/roboto-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.udi-account {
    --ac-pink: #ed3166;
    --ac-soft: #fbf7f8;
    --ac-box: #fef4fa;
    --ac-dark: #282a2a;
    --ac-ink: #000;
    --ac-muted: #6a6a6a;
    --ac-line: #e7e3e4;
    --font-roboto: 'Roboto', var(--font-sans);
    margin-block: clamp(40px, 6vw, 80px) clamp(60px, 9vw, 112px);
    font-family: var(--font-roboto);
    font-size: 16px;
    line-height: 1.5;
    color: var(--ac-ink);
}

.udi-account p {
    margin: 0;
}

/* Header ------------------------------------------------------------------- */
.udi-account__header {
    margin-bottom: clamp(28px, 5vw, 52px);
}

.udi-account__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: clamp(30px, 4vw, 40px);
    line-height: 1.2;
    color: var(--ac-ink);
}

.udi-account__subtitle {
    margin-top: 12px;
    font-size: 18px;
    color: var(--ac-muted);
}

/* Grid: sidebar + content -------------------------------------------------- */
.udi-account__grid {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: start;
}

.udi-account__content {
    min-width: 0;
}

/* WC adds body.woocommerce-account and floats nav 30% / content 68%
   (`.woocommerce-account .woocommerce-MyAccount-navigation` = (0,2,0)); 30% of
   the 260px track collapses the nav to ~78px. Reclaim the full track. */
.udi-account .woocommerce-MyAccount-navigation,
.udi-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
}

/* Sidebar navigation ------------------------------------------------------- */
.udi-account__nav {
    position: sticky;
    top: 24px;
}

.udi-account__nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.udi-account__nav li {
    margin: 0;
}

.udi-account__nav a {
    display: block;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 16px;
    line-height: 1.4;
    color: var(--ac-dark);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.udi-account__nav a:hover,
.udi-account__nav a:focus-visible {
    background: var(--ac-soft);
    color: var(--ac-pink);
}

.udi-account__nav .is-active a {
    background: var(--ac-box);
    color: var(--ac-pink);
    font-weight: 600;
    box-shadow: inset 3px 0 0 var(--ac-pink);
}

.udi-account__nav-logout {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--ac-line);
}

.udi-account__nav-logout a {
    color: var(--ac-muted);
}

/* Notices ------------------------------------------------------------------ */
.udi-account .woocommerce-message,
.udi-account .woocommerce-error,
.udi-account .woocommerce-info {
    margin: 0 0 24px;
    padding: 16px 20px;
    background: var(--ac-box);
    border: 0;
    border-radius: 10px;
    list-style: none;
    font-size: 15px;
    line-height: 1.5;
    color: var(--ac-dark);
}

.udi-account .woocommerce-message::before,
.udi-account .woocommerce-error::before,
.udi-account .woocommerce-info::before {
    display: none;
}

.udi-account .woocommerce-error > li {
    color: var(--ac-pink);
}

.udi-account .woocommerce-message a,
.udi-account .woocommerce-info a {
    color: var(--ac-pink);
}

/* Buttons ------------------------------------------------------------------ */
/* Beats WC `.woocommerce a.button / button.button` (0,2,0). */
.udi-account .woocommerce .button,
.udi-account .woocommerce .woocommerce-Button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    min-height: 0;
    background: var(--ac-pink);
    border: 1px solid var(--ac-pink);
    border-radius: 100px;
    color: #fff;
    font-family: var(--font-sans);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.udi-account .woocommerce .button:hover,
.udi-account .woocommerce .button:focus-visible,
.udi-account .woocommerce .woocommerce-Button:hover,
.udi-account .woocommerce .woocommerce-Button:focus-visible {
    background: #fff;
    color: var(--ac-pink);
}

/* Secondary (outline) — order "view" + dashboard link */
.udi-account .woocommerce .woocommerce-orders-table .button,
.udi-account .udi-btn--outline {
    background: transparent;
    color: var(--ac-pink);
}

.udi-account .woocommerce .woocommerce-orders-table .button:hover,
.udi-account .woocommerce .woocommerce-orders-table .button:focus-visible {
    background: var(--ac-pink);
    color: #fff;
}

/* ==========================================================================
   Dashboard
   ========================================================================== */
.udi-dash {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.udi-dash__order {
    background: var(--ac-box);
    padding: clamp(20px, 3vw, 32px);
}

.udi-dash__kicker {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ac-muted);
    margin-bottom: 12px !important;
}

.udi-dash__order-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
    align-items: center;
    justify-content: space-between;
}

.udi-dash__order-no {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.2;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.udi-dash__status {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 100px;
    background: #fff;
    font-family: var(--font-roboto);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--ac-dark);
}

.udi-dash__status--processing,
.udi-dash__status--completed {
    color: #1f7a44;
}

.udi-dash__status--on-hold,
.udi-dash__status--pending,
.udi-dash__status--failed,
.udi-dash__status--cancelled {
    color: var(--ac-pink);
}

.udi-dash__order-sub {
    margin-top: 8px !important;
    color: var(--ac-muted);
    font-size: 15px;
}

.udi-dash__order-side {
    display: flex;
    align-items: center;
    gap: 24px;
}

.udi-dash__order-total {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 20px;
    color: var(--ac-pink);
}

.udi-dash__order--empty {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 32px;
}

.udi-dash__empty-text {
    font-size: 18px;
    color: var(--ac-dark);
}

.udi-dash__tiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.udi-dash__tile {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 16px;
    padding: 20px 24px;
    background: var(--ac-soft);
    text-decoration: none;
    color: var(--ac-ink);
    transition: background 0.15s ease;
}

.udi-dash__tile:hover,
.udi-dash__tile:focus-visible {
    background: var(--ac-box);
}

.udi-dash__tile-label {
    grid-column: 1;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 18px;
    color: var(--ac-ink);
}

.udi-dash__tile-desc {
    grid-column: 1;
    font-size: 14px;
    color: var(--ac-muted);
}

.udi-dash__tile-arrow {
    grid-column: 2;
    grid-row: 1 / span 2;
    display: inline-flex;
    color: var(--ac-pink);
}

.udi-dash__tile-arrow svg {
    width: 22px;
    height: 22px;
}

/* ==========================================================================
   Forms (login, register, edit-account, edit-address) — mirror checkout
   ========================================================================== */
.udi-account__auth {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: start;
}

.udi-account__auth--single {
    grid-template-columns: minmax(0, 480px);
}

.udi-account__card {
    background: var(--ac-soft);
    padding: clamp(24px, 4vw, 40px);
}

/* Drop WC's default border/padding on form.login / form.register (they sit
   inside our soft card already). */
.udi-account .woocommerce form.login,
.udi-account .woocommerce form.register {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}

.udi-account__card-h {
    margin: 0 0 20px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 24px;
    line-height: 1.2;
    color: var(--ac-ink);
}

.udi-account__auth-lead {
    margin-bottom: 20px !important;
    color: var(--ac-muted);
}

.udi-account__auth-note {
    margin-bottom: 20px !important;
    font-size: 15px;
    color: var(--ac-muted);
}

/* Edit-account / edit-address field grids */
.udi-account .woocommerce-address-fields__field-wrapper,
.udi-account .woocommerce-EditAccountForm {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* Breathing room above the "Zapisz adres" submit (its <p> sits after the grid) */
.udi-account .woocommerce-address-fields > p {
    margin: 28px 0 0;
}

/* Kill WC's float + 47% widths (`.woocommerce form .form-row-first` = (0,2,1))
   so our grid / block layout controls sizing. */
.udi-account .woocommerce .form-row,
.udi-account .woocommerce .woocommerce-form-row {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    grid-column: 1 / -1;
}

.udi-account .woocommerce .form-row-first {
    grid-column: 1 / 2;
}

.udi-account .woocommerce .form-row-last {
    grid-column: 2 / 3;
}

.udi-account fieldset {
    grid-column: 1 / -1;
    margin: 12px 0 0;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid var(--ac-line);
}

.udi-account fieldset legend {
    padding: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 18px;
    color: var(--ac-ink);
}

.udi-account .woocommerce-input-wrapper {
    display: block;
    width: 100%;
}

/* Single-column card rows need their own spacing (beats the reset's margin:0) */
.udi-account .woocommerce .udi-account__card .form-row,
.udi-account .woocommerce .woocommerce-ResetPassword .form-row {
    margin-bottom: 14px;
}

.udi-account label {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    color: var(--ac-dark);
}

.udi-account .required {
    color: var(--ac-pink);
    border: 0;
}

/* Inputs / selects / textareas — soft fill, radius 5 (beats WC field rules) */
.udi-account .woocommerce .form-row .input-text,
.udi-account .woocommerce .form-row select,
.udi-account .woocommerce .woocommerce-form-row .input-text,
.udi-account .select2-container--default .select2-selection--single {
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid var(--ac-line);
    border-radius: 5px;
    font-family: var(--font-roboto);
    font-size: 16px;
    line-height: 46px;
    color: var(--ac-dark);
    outline: 0;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
}

.udi-account .woocommerce .form-row textarea.input-text {
    height: auto;
    min-height: 120px;
    padding: 12px;
    line-height: 1.5;
    resize: vertical;
}

.udi-account .woocommerce .form-row select {
    padding-right: 40px;
    cursor: pointer;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23282a2a' stroke-width='2' d='m8 10 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center;
}

.udi-account .woocommerce .form-row .input-text:focus,
.udi-account .woocommerce .form-row select:focus,
.udi-account .woocommerce .woocommerce-form-row .input-text:focus {
    border-color: var(--ac-pink);
}

/* Validation borders */
.udi-account .woocommerce .woocommerce-invalid .input-text,
.udi-account .woocommerce .woocommerce-invalid select {
    border-color: var(--ac-pink) !important;
    box-shadow: none !important;
}

.udi-account .woocommerce .woocommerce-validated .input-text,
.udi-account .woocommerce .woocommerce-validated select {
    border-color: var(--ac-line) !important;
    box-shadow: none !important;
}

/* Select2 (country on edit-address) */
.udi-account .select2-container {
    width: 100% !important;
}

.udi-account .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: 46px;
    color: var(--ac-dark);
}

.udi-account .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px;
    right: 8px;
}

.udi-account .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--ac-dark) transparent transparent;
}

/* Remember-me + lost password row */
.udi-account__form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 20px;
    margin-top: 8px;
}

/* Register submit: plain block (button left-aligned, no flex gap offset),
   with room above the privacy text. Beats the .form-row margin:0 reset. */
.udi-account .woocommerce .form-row.udi-account__register-actions {
    margin-top: 24px;
}

.udi-account__remember {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    font-size: 15px;
    color: var(--ac-dark);
    cursor: pointer;
}

.udi-account__remember input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--ac-pink);
}

.udi-account .lost_password {
    margin-top: 16px;
}

.udi-account .lost_password a {
    color: var(--ac-pink);
    font-size: 15px;
}

/* Lost/reset password form (not overridden — skinned as a narrow card) */
.udi-account .woocommerce-ResetPassword {
    max-width: 480px;
    background: var(--ac-soft);
    padding: clamp(24px, 4vw, 40px);
}


/* ==========================================================================
   Orders table + view order + addresses + downloads
   ========================================================================== */
.udi-account .woocommerce-orders-table,
.udi-account .woocommerce-table--order-details,
.udi-account .woocommerce-table--order-downloads {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 24px;
    font-size: 16px;
}

.udi-account .woocommerce-orders-table th,
.udi-account .woocommerce-table--order-details th,
.udi-account .woocommerce-table--order-downloads th {
    padding: 12px;
    text-align: left;
    font-family: var(--font-roboto);
    font-weight: 700;
    font-size: 14px;
    color: var(--ac-dark);
    border-bottom: 1px solid var(--ac-line);
}

.udi-account .woocommerce-orders-table td,
.udi-account .woocommerce-table--order-details td,
.udi-account .woocommerce-table--order-downloads td {
    padding: 16px 12px;
    border-bottom: 1px solid var(--ac-line);
    vertical-align: middle;
}

.udi-account .woocommerce-orders-table a,
.udi-account .woocommerce-table--order-details a {
    color: var(--ac-pink);
    text-decoration: underline;
}

.udi-account .woocommerce-orders-table__cell-order-actions {
    text-align: right;
}

.udi-account .woocommerce-orders-table__cell-order-actions .button {
    padding: 8px 20px !important;
    font-size: 14px !important;
    margin: 2px;
}

.udi-account .woocommerce-table--order-details tfoot th,
.udi-account .woocommerce-table--order-details tfoot td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--ac-line);
}

.udi-account .woocommerce-table--order-details tfoot tr:last-child th,
.udi-account .woocommerce-table--order-details tfoot tr:last-child td {
    font-weight: 700;
    color: var(--ac-pink);
    border-bottom: 0;
}

.udi-account .woocommerce-table--order-details del {
    color: #969696;
    margin-right: 6px;
}

.udi-account .woocommerce-table--order-details ins {
    text-decoration: none;
}

/* Section titles (view order) */
.udi-account .woocommerce-order-details__title,
.udi-account .woocommerce-column__title,
.udi-account .woocommerce-MyAccount-content h2,
.udi-account .woocommerce-MyAccount-content h3 {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 22px;
    line-height: 1.2;
    color: var(--ac-ink);
    margin: 0 0 16px;
}

/* Customer / address blocks as soft cards */
.udi-account .woocommerce-customer-details .woocommerce-columns--addresses,
.udi-account .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
}

/* WC's .col2-set clearfix ::before/::after become stray grid items (pushing the
   columns into a diagonal) — remove them. */
.udi-account .woocommerce-customer-details .woocommerce-columns--addresses::before,
.udi-account .woocommerce-customer-details .woocommerce-columns--addresses::after,
.udi-account .woocommerce-Addresses::before,
.udi-account .woocommerce-Addresses::after {
    display: none;
}

.udi-account .woocommerce-customer-details .woocommerce-column,
.udi-account .woocommerce-Address {
    background: var(--ac-soft);
    padding: 24px;
    margin: 0;
    width: auto !important;
    float: none !important;
}

.udi-account .woocommerce-Address-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 16px;
    margin-bottom: 12px;
}

.udi-account .woocommerce-Address-title .title {
    flex: 0 1 auto;
}

.udi-account .woocommerce-Address-title .edit {
    flex: 0 0 auto;
}

.udi-account .woocommerce-Address-title .title {
    margin: 0;
}

.udi-account .woocommerce-Address-title h2,
.udi-account .woocommerce-Address-title h3 {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 18px;
    color: var(--ac-ink);
}

.udi-account .woocommerce-Address-title .edit,
.udi-account .woocommerce-column .edit {
    color: var(--ac-pink);
    font-size: 15px;
    text-decoration: underline;
    white-space: nowrap;
}

.udi-account address {
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    width: auto;
    font-style: normal;
    line-height: 1.7;
    color: var(--ac-dark);
}

.udi-account .woocommerce-MyAccount-content > p:first-child {
    margin-bottom: 20px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 900px) {
    .udi-account__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    /* Sidebar → horizontally scrollable pills above content */
    .udi-account__nav {
        position: static;
    }

    .udi-account__nav ul {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 6px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .udi-account__nav a {
        white-space: nowrap;
        border: 1px solid var(--ac-line);
        border-radius: 100px;
        padding: 8px 16px;
    }

    .udi-account__nav .is-active a {
        box-shadow: none;
        border-color: var(--ac-pink);
    }

    .udi-account__nav-logout {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
}

@media (max-width: 768px) {
    .udi-account__auth,
    .udi-account__tiles,
    .udi-account .woocommerce-customer-details .woocommerce-columns--addresses,
    .udi-account .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }

    .udi-account__auth {
        max-width: 480px;
    }
}

@media (max-width: 640px) {
    .udi-dash__tiles {
        grid-template-columns: 1fr;
    }

    /* Orders table → stacked cards using data-title labels */
    .udi-account .woocommerce-orders-table thead {
        display: none;
    }

    .udi-account .woocommerce-orders-table tr {
        display: block;
        border: 1px solid var(--ac-line);
        padding: 8px 14px;
        margin-bottom: 14px;
    }

    .udi-account .woocommerce-orders-table td {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 8px 0;
        border: 0;
        text-align: right;
    }

    .udi-account .woocommerce-orders-table td::before {
        content: attr(data-title);
        font-weight: 600;
        color: var(--ac-dark);
        text-align: left;
    }

    .udi-account .woocommerce-orders-table__cell-order-actions {
        justify-content: flex-end;
    }

    .udi-account .woocommerce-orders-table__cell-order-actions::before {
        display: none;
    }
}
