/* Customer account: native WooCommerce flows, in Fabled Lot's visual language. */
.woocommerce-account.logged-in .lot-commerce-page {
  max-width: 1408px;
  margin-inline: auto !important;
  padding: 42px var(--fl-gutter) 80px;
}
.woocommerce-account.logged-in .lot-commerce-page > h1 {
  margin: 0 0 28px;
  font: 400 clamp(30px, 3vw, 40px)/1.2 var(--fl-display);
  letter-spacing: -.035em;
}
.woocommerce-account.logged-in .lot-commerce-page > .woocommerce {
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
  max-width: none;
  margin: 0;
}
.woocommerce-account.logged-in .lot-commerce-page > .woocommerce::before,
.woocommerce-account.logged-in .lot-commerce-page > .woocommerce::after { display: none; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
.woocommerce-account.logged-in .woocommerce-MyAccount-content { float: none; width: auto; min-width: 0; margin: 0; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content {
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid #ddd7cc;
  border-radius: 20px;
  background: #faf8f3;
  box-shadow: 0 6px 30px #30211904;
  min-height: 470px;
  animation: fl-account-enter .24s ease-out;
}
.fl-account-identity { display: flex; align-items: center; gap: 12px; padding: 5px 12px 24px; }
.fl-account-avatar { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: #e2dacb; font: 500 15px/1 Inter, sans-serif; color: #594837; }
.fl-account-identity-copy { min-width: 0; }
.fl-account-identity-copy strong { display: block; font-size: 14px; font-weight: 500; overflow-wrap: anywhere; }
.fl-account-identity-copy span { display: block; margin-top: 2px; font-size: 12px; color: var(--fl-muted-foreground); }
.woocommerce-account .fl-account-nav .fl-account-nav-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.woocommerce-account .fl-account-nav .fl-account-nav-item { border: 0; margin: 0; padding: 0; text-decoration: none; background: transparent; }
.woocommerce-account .fl-account-nav .fl-account-nav-link { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px 14px; border: 1px solid transparent; border-radius: 10px; text-decoration: none; font: 400 14px/1.5 Inter, Arial, sans-serif; color: #655b50; transition: background .18s, color .18s, border-color .18s; }
.fl-account-icon { flex: 0 0 20px; width: 20px; height: 20px; }
.woocommerce-account .fl-account-nav .fl-account-nav-link:hover { background: #e7e2d8; color: var(--fl-foreground); }
.woocommerce-account.logged-in .fl-account-nav .is-active .fl-account-nav-link { background: #e2dbcf; border-color: #d9d0c1; color: var(--fl-foreground); font-weight: 500; text-decoration: none; }
.woocommerce-account .fl-account-nav .fl-account-nav-logout { border-top: 1px solid #d8d1c5; margin-top: 16px; padding-top: 16px; }
.fl-account-welcome .fl-eyebrow { margin: 0 0 12px; font-size: 10px; letter-spacing: .16em; }
.fl-account-welcome h2,
.fl-account-page-heading h2 { margin: 0; font: 400 clamp(28px, 3vw, 38px)/1.18 var(--fl-display); letter-spacing: -.035em; text-wrap: balance; }
.fl-account-welcome > p:last-child,
.fl-account-page-heading p { color: var(--fl-muted-foreground); font-size: 14px; line-height: 1.8; margin: 12px 0 0; max-width: 56ch; }
.fl-account-page-heading { margin-bottom: 30px; }
.fl-account-page-heading > a { display: inline-flex; gap: 8px; align-items: center; min-height: 32px; font-size: 12px; color: var(--fl-muted-foreground); margin: -8px 0 16px; text-decoration: none; }
.fl-account-page-heading > a:hover { text-decoration: underline; }
.fl-account-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 22px 0; margin: 30px 0; border-block: 1px solid #e4ddd2; }
.fl-account-stat { padding: 0 20px; min-width: 0; }
.fl-account-stat:first-child { padding-left: 0; }
.fl-account-stat + .fl-account-stat { border-left: 1px solid #e4ddd2; }
.fl-account-stat dt { font-size: 11px; color: var(--fl-muted-foreground); line-height: 1.5; }
.fl-account-stat dd { margin: 6px 0 0; font: 400 27px/1.25 var(--fl-display); font-variant-numeric: tabular-nums; }
.fl-account-stat small { display: block; font: 400 11px/1.6 Inter, Arial, sans-serif; color: var(--fl-muted-foreground); margin-top: 4px; }
.fl-account-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.fl-account-action { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 21px 18px 15px; background: #f4f0e8; border: 1px solid #e5ded2; border-radius: 14px; text-decoration: none; transition: border-color .18s, background .18s; }
.fl-account-action:hover { border-color: #cbbda7; background: #f0ebe1; }
.fl-account-action > .fl-account-icon { width: 24px; height: 24px; flex-basis: 24px; color: #76614d; margin-bottom: 18px; }
.fl-account-action h3 { margin: 0 0 8px; font: 500 15px/1.4 Inter, Arial, sans-serif; letter-spacing: -.015em; }
.fl-account-action p { font: 400 12px/1.75 Inter, Arial, sans-serif; color: var(--fl-muted-foreground); margin: 0 0 14px; }
.fl-account-action-link { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; min-height: 36px; font-size: 12px; font-weight: 500; }
.fl-account-action-link svg { width: 15px; height: 15px; }
.fl-account-recent { margin-top: 32px; }
.fl-account-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.fl-account-section-heading h3 { margin: 0; font: 500 15px/1.4 Inter, Arial, sans-serif; }
.fl-account-section-heading a { display: inline-flex; min-height: 32px; align-items: center; font-size: 12px; text-underline-offset: 4px; }
.fl-account-empty { padding: 24px; border: 1px dashed #d8cfc0; border-radius: 12px; background: #f7f3ec; }
.fl-account-empty h3, .fl-account-empty h4 { margin: 0 0 8px; font: 500 15px/1.5 Inter, Arial, sans-serif; }
.fl-account-empty > .fl-account-icon { margin-bottom: 12px; color: #88745d; }
.fl-account-empty p { margin: 0; color: var(--fl-muted-foreground); font-size: 13px; }
.fl-account-empty a { display: inline-flex; align-items: center; min-height: 40px; margin-top: 8px; font-size: 13px; }
.fl-account-order { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 15px; padding: 20px; border: 1px solid #e3dcd0; border-radius: 12px; }
.fl-account-order p { margin: 0; font-size: 13px; }
.fl-account-order a { font-size: 13px; }
.fl-account-order-details strong { display: block; font-size: 13px; font-weight: 500; }
.fl-account-order-details span { display: block; margin-top: 4px; color: var(--fl-muted-foreground); font-size: 11px; }
.fl-account-order-status { padding: 5px 10px; border-radius: 20px; background: #e9e3d8; font-size: 11px; }
.fl-account-order-total { font-size: 13px; font-variant-numeric: tabular-nums; }

/* Quiet notices retain the native live-region roles, content and actions. */
.woocommerce-account .woocommerce .wc-block-components-notice-banner,
.woocommerce-account .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
  border: 1px solid #ded6c8;
  border-radius: 12px;
  background: #f0ece3;
  color: #55483b;
  box-shadow: none;
  padding: 18px 20px !important;
  margin: 0 0 18px;
  font: 400 13px/1.75 Inter, Arial, sans-serif;
}
.woocommerce-account .woocommerce .wc-block-components-notice-banner { align-items: flex-start; gap: 12px; }
.woocommerce-account .woocommerce .wc-block-components-notice-banner > svg { flex: 0 0 20px; width: 20px; height: 20px; padding: 0; margin-top: 2px; background: transparent !important; color: #8a785e; fill: currentColor; }
.woocommerce-account .woocommerce .wc-block-components-notice-banner.is-success,
.woocommerce-account .woocommerce .woocommerce-message { background: #edf1e8; border-color: #d4ddcb; color: #45553c; }
.woocommerce-account .woocommerce .wc-block-components-notice-banner.is-error,
.woocommerce-account .woocommerce .woocommerce-error { background: #f7ece6; border-color: #e3c9bc; color: #843c2a; }
.woocommerce-account .woocommerce .wc-block-components-notice-banner.is-error > svg { color: #a04d36; }
.woocommerce-account .woocommerce .wc-block-components-notice-banner.is-success > svg { color: #617653; }
.woocommerce-account .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { display: none; }
.woocommerce-account .wc-block-components-notice-banner__content { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; min-width: 0; }
.woocommerce-account .woocommerce .wc-block-components-notice-banner__content .button,
.woocommerce-account .woocommerce :is(.woocommerce-info, .woocommerce-message) .button {
  order: 2;
  float: none !important;
  align-self: flex-start;
  margin: 0 !important;
  padding: 6px 0 !important;
  min-height: 32px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: inherit !important;
  font: 500 13px/1.5 Inter, Arial, sans-serif;
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

/* Addresses, order tables, and profile fields use the same spacing system. */
.woocommerce-account.logged-in .woocommerce-MyAccount-content > p { color: var(--fl-muted-foreground); font-size: 14px; }
.woocommerce-account.logged-in .woocommerce .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; width: 100%; margin: 24px 0 0; }
.woocommerce-account .woocommerce .woocommerce-Addresses::before,
.woocommerce-account .woocommerce .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce .woocommerce-Address { float: none; width: auto; min-width: 0; padding: 24px; border: 1px solid #e2dacc; border-radius: 14px; background: #f6f2eb; }
.woocommerce-account .woocommerce .woocommerce-Address-title { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 20px; }
.woocommerce-account .woocommerce .woocommerce-Address-title::before,
.woocommerce-account .woocommerce .woocommerce-Address-title::after { display: none; }
.woocommerce-account .woocommerce .woocommerce-Address-title h2 { float: none; margin: 0; font: 500 15px/1.5 Inter, Arial, sans-serif; }
.woocommerce-account .woocommerce .woocommerce-Address-title a.edit { float: none; display: inline-flex; align-items: center; min-height: 36px; padding: 5px 12px; border: 1px solid #d2c7b6; border-radius: 8px; background: #faf8f3; text-decoration: none; font-size: 12px; }
.woocommerce-account .woocommerce .woocommerce-Address address { font: 400 13px/1.9 Inter, Arial, sans-serif; color: var(--fl-muted-foreground); overflow-wrap: anywhere; }
.woocommerce-account .woocommerce-MyAccount-content form { max-width: 720px; }
.woocommerce-account .woocommerce-MyAccount-content form h2 { font: 400 25px/1.3 var(--fl-display); margin: 0 0 24px; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row { margin-bottom: 22px; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row label { color: #594d40; font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row :is(input.input-text, textarea, select) { background-color: #fffdf8; border-color: #d9d0c3; border-radius: 10px; min-height: 52px; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row :is(input.input-text, textarea):hover { background: #fffdf8; border-color: #bbad9a; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row :is(input.input-text, textarea):focus { border-color: #8b7c68; box-shadow: 0 0 0 3px #8b7c6814; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row :is(input.input-text, textarea)[aria-invalid=true],
.woocommerce-account .woocommerce-MyAccount-content form .form-row.woocommerce-invalid .input-text { border-color: #a64e38; }
.woocommerce-account .woocommerce-EditAccountForm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 22px; }
.woocommerce-account .woocommerce-EditAccountForm > .form-row { float: none; width: auto; min-width: 0; }
.woocommerce-account .woocommerce-EditAccountForm > :not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-EditAccountForm > .clear { display: none; }
.woocommerce-account .woocommerce-EditAccountForm em { display: block; margin-top: 8px; font: 400 12px/1.65 Inter, Arial, sans-serif; color: var(--fl-muted-foreground); }
.woocommerce-account .woocommerce-EditAccountForm fieldset { margin: 10px 0 22px; padding: 22px; border: 1px solid #e2dacc; border-radius: 14px; background: #f6f2eb; }
.woocommerce-account .woocommerce-EditAccountForm legend { padding: 0 8px; font: 500 14px/1.6 Inter, Arial, sans-serif; }
.woocommerce-account .woocommerce-EditAccountForm fieldset .form-row:last-child { margin-bottom: 0; }
.woocommerce-account.logged-in .woocommerce :is(a.button, button.button, input.button) { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 46px; padding: 11px 20px; border-radius: 10px; font: 500 13px/1.6 Inter, Arial, sans-serif; letter-spacing: 0; text-decoration: none; transition: background .18s, border-color .18s; }
.woocommerce-account.logged-in .woocommerce :is(a.button, button.button, input.button):focus-visible { outline: 2px solid #887762; outline-offset: 3px; }
.woocommerce-account .woocommerce .shop_table { border: 1px solid #e2dacc; border-radius: 12px; overflow: hidden; border-collapse: separate; border-spacing: 0; margin: 0 0 24px; font-size: 13px; }
.woocommerce-account .woocommerce .shop_table th { background: #f0ece3; color: #746453; font-size: 11px; font-weight: 500; padding: 14px; }
.woocommerce-account .woocommerce .shop_table td { padding: 17px 14px; border-color: #e5dfd4; }
.woocommerce-account .woocommerce .shop_table td .button { min-height: 36px; margin: 4px; padding: 7px 12px; font-size: 12px; }
.woocommerce-account .woocommerce .shop_table td a:not(.button) { text-decoration-thickness: 1px; }
.woocommerce-account .woocommerce-MyAccount-content h2:not(.fl-account-page-heading h2, .fl-account-welcome h2, .woocommerce-Address h2) { font-size: 26px; }
.woocommerce-account .woocommerce-MyAccount-content mark { padding: 3px 6px; background: #e9e1d2; border-radius: 4px; color: inherit; }

/* Keep Stripe's hosted fields intact; only style their surrounding native form. */
.woocommerce-account #add_payment_method { margin: 0; }
.woocommerce-account #add_payment_method #payment { border: 1px solid #e0d7c9; border-radius: 14px; background: #f6f2eb; overflow: hidden; }
.woocommerce-account #add_payment_method #payment ul.payment_methods { margin: 0; padding: 26px; border: 0; background: transparent; }
.woocommerce-account #add_payment_method #payment ul.payment_methods li { margin: 0; padding: 0; line-height: 1.6; }
.woocommerce-account #add_payment_method #payment ul.payment_methods li > label { display: inline; font-size: 14px; font-weight: 500; vertical-align: middle; }
.woocommerce-account #add_payment_method #payment input.input-radio { width: 17px; height: 17px; margin-right: 9px; accent-color: #69563f; vertical-align: middle; }
.woocommerce-account #add_payment_method #payment div.payment_box { width: 100%; margin: 18px 0 0; padding: 0; background: transparent; border: 0; color: var(--fl-foreground); }
.woocommerce-account #add_payment_method #payment div.payment_box::before { display: none; }
.woocommerce-account #add_payment_method #payment fieldset { margin: 0; padding: 0; border: 0; background: transparent; }
.woocommerce-account #add_payment_method #payment .testmode-info { margin: 0 0 22px; padding: 12px 14px; border: 1px solid #ded5c5; border-radius: 9px; background: #ede6da; color: #76624b; font-size: 12px; line-height: 1.75; }
.woocommerce-account #add_payment_method #payment .testmode-info button { font: inherit; color: inherit; }
.woocommerce-account #add_payment_method #payment .form-row { margin: 0; padding: 20px 26px; border-top: 1px solid #e0d7c9; background: #f0ebe1; }
.woocommerce-account #add_payment_method #payment #place_order { float: none; width: 100%; margin: 0; min-height: 50px; }
.woocommerce-account #add_payment_method #payment .woocommerce-error { margin-top: 16px; }

@keyframes fl-account-enter { from { opacity: .85; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1050px) {
  .woocommerce-account.logged-in .lot-commerce-page > .woocommerce { grid-template-columns: 205px minmax(0, 1fr); gap: 22px; }
  .fl-account-actions { grid-template-columns: 1fr; gap: 12px; }
  .fl-account-action { display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; padding: 18px; }
  .fl-account-action > .fl-account-icon { grid-column: 1; grid-row: 1 / 4; margin: 0; }
  .fl-account-action h3, .fl-account-action p, .fl-account-action-link { grid-column: 2; }
  .fl-account-action p { margin-bottom: 2px; }
  .fl-account-stat { padding-inline: 12px; }
}
@media (max-width: 760px) {
  .woocommerce-account.logged-in .lot-commerce-page { padding-block: 30px 48px; }
  .woocommerce-account.logged-in .lot-commerce-page > h1 { margin-bottom: 24px; }
  .woocommerce-account.logged-in .lot-commerce-page > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .fl-account-identity { padding: 0 4px 16px; }
  .woocommerce-account .fl-account-nav .fl-account-nav-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .woocommerce-account .fl-account-nav .fl-account-nav-link { flex-direction: column; justify-content: center; gap: 7px; padding: 10px 5px; min-height: 72px; font-size: 11px; text-align: center; background: #e7e2d766; }
  .woocommerce-account .fl-account-nav .fl-account-nav-logout { grid-column: 1 / -1; border: 0; padding: 0; margin: 2px 0 0; justify-self: end; }
  .woocommerce-account .fl-account-nav .fl-account-nav-logout a { flex-direction: row; min-height: 38px; padding: 6px 10px; background: transparent; font-size: 12px; }
  .woocommerce-account .fl-account-nav .fl-account-nav-logout svg { width: 16px; height: 16px; flex-basis: 16px; }
  .woocommerce-account.logged-in .woocommerce-MyAccount-content { padding: 24px 20px; border-radius: 16px; min-height: 320px; }
  .fl-account-stats { padding-block: 18px; margin-block: 24px; }
  .fl-account-stat dd { font-size: 24px; }
  .fl-account-stat dt, .fl-account-stat small { font-size: 10px; }
  .fl-account-page-heading { margin-bottom: 24px; }
  .woocommerce-account.logged-in .woocommerce .woocommerce-Addresses { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-Address { padding: 20px; }
  .woocommerce-account .woocommerce-EditAccountForm { grid-template-columns: 1fr; }
  .woocommerce-account .woocommerce-EditAccountForm > * { grid-column: 1 !important; }
  .woocommerce-account .woocommerce-EditAccountForm fieldset { padding: 18px 14px; }
  .woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
  .woocommerce-account .woocommerce-MyAccount-content form .form-row-last { float: none; width: 100%; }
  .woocommerce-account #add_payment_method #payment ul.payment_methods { padding: 20px 16px; }
  .woocommerce-account #add_payment_method #payment .form-row { padding: 16px; }
  .woocommerce-account .woocommerce .shop_table_responsive tr { padding: 10px 0; }
  .woocommerce-account .woocommerce .shop_table_responsive tr td { padding: 9px 14px; background: transparent; }
  .woocommerce-account .woocommerce .shop_table_responsive tr:nth-child(even) { background: #f5f0e8; }
  .woocommerce-account .woocommerce .shop_table_responsive td::before { font-weight: 500; color: #786651; }
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce-account.logged-in .woocommerce-MyAccount-content { animation: none; }
  .fl-account-nav-link, .fl-account-action { transition: none; }
}
