/* Account extends the approved cream/ink shell and native WooCommerce endpoints. */
.bakura-account .page-content {
  padding-block: 54px 100px;
}

.bakura-account h1 {
  font-size: clamp(30px, 3.5vw, 48px);
  margin-block: 0 40px;
}

.bakura-account h2 {
  font-size: 25px;
  margin-block: 0 24px;
}

.bakura-account h3 {
  font-size: 22px;
}

.account-member #main > .woocommerce {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 64px;
}

.account-member #main > .woocommerce > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

.account-member #main > .woocommerce > .woocommerce-notices-wrapper:empty {
  display: none;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 17px 20px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a {
  background: var(--ink);
  color: var(--cream);
  font-weight: 600;
}

.woocommerce-MyAccount-navigation a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.account-menu summary {
  display: none;
}

.account-guest #main {
  max-width: 800px;
}

.account-guest h1 {
  margin-bottom: 16px;
}

.account-introduction {
  color: var(--muted);
  margin-bottom: 36px;
}

.account-guest .woocommerce h2 {
  font-size: 23px;
  padding-top: 25px;
  border-top: 1px solid var(--line);
}

.bakura-account .form-row {
  margin: 0 0 22px;
}

.bakura-account .form-row > label {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
}

.bakura-account .form-row input:not([type="checkbox"], [type="hidden"]),
.bakura-account .form-row select {
  display: block;
  width: 100%;
  min-height: 54px;
  font-size: 16px;
  color: var(--ink);
}

.bakura-account input:is([type="email"], [type="tel"], [type="password"]) {
  direction: ltr;
  text-align: start;
}

.bakura-account .required {
  color: #8b241c;
}

.bakura-account input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-height: 20px;
  accent-color: var(--ink);
}

.bakura-account .form-row label.woocommerce-form-login__rememberme {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 44px;
}

.bakura-account .woocommerce-form-login__submit {
  width: 100%;
  margin-top: 8px;
}

.bakura-account .lost_password a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  text-underline-offset: 5px;
}

.bakura-account [id="customer_login"] .col-2 {
  margin-top: 48px;
}

.bakura-account .edit-account {
  max-width: 760px;
}

.bakura-account .edit-account em {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  font-style: normal;
  color: var(--muted);
}

.bakura-account .account-password {
  margin-block: 32px;
  border-block: 1px solid var(--line);
}

.bakura-account summary {
  cursor: pointer;
  min-height: 54px;
  padding-block: 14px;
  font-weight: 600;
}

.bakura-account fieldset {
  border: 0;
  margin: 0;
  padding: 16px 0 0;
  min-width: 0;
}

.bakura-account .password-input {
  position: relative;
  display: block;
}

.bakura-account .password-input input {
  padding-block: 14px;
  padding-inline: 14px 60px;
}

.bakura-account .show-password-input {
  position: absolute;
  inset-inline-end: 6px;
  top: 5px;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 10px;
  background: transparent;
  color: var(--ink);
  border: 0;
  cursor: pointer;
}

.bakura-account .show-password-input::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background: currentcolor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.bakura-account .show-password-input.display-password::after {
  content: "";
  position: absolute;
  width: 27px;
  height: 2px;
  background: var(--ink);
  top: 21px;
  left: 8px;
  transform: rotate(-45deg);
}

.bakura-account .woocommerce-password-strength,
.bakura-account .woocommerce-password-hint {
  display: block;
  margin-top: 8px;
  font-size: 14px;
}

.bakura-account .woocommerce-password-strength:is(.bad, .short) {
  color: #8b241c;
}

.bakura-account .woocommerce-orders-table,
.bakura-account .woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
}

.bakura-account :is(th, td) {
  padding: 20px 12px;
  border-bottom: 1px solid var(--line);
  text-align: start;
  vertical-align: middle;
}

.bakura-account thead th {
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
  padding-top: 0;
}

.bakura-account .woocommerce-orders-table .button {
  min-height: 44px;
  padding: 10px 16px;
  margin: 3px;
  font-size: 14px;
}

.bakura-account .woocommerce-orders-table .cancel {
  background: transparent;
  color: var(--ink);
  border-color: var(--line);
}

.bakura-account .woocommerce-pagination {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 30px;
}

.bakura-account .woocommerce-MyAccount-content > p:first-child {
  margin-top: 0;
}

.bakura-account .woocommerce-MyAccount-content mark {
  background: transparent;
  color: var(--ink);
  font-weight: 600;
}

.bakura-account .woocommerce-order-details {
  margin-top: 38px;
}

.bakura-account .woocommerce-customer-details,
.bakura-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 40px;
}

.bakura-account .woocommerce-customer-details > .woocommerce-columns {
  display: contents;
}

.bakura-account .woocommerce-column,
.bakura-account .woocommerce-Address {
  min-width: 0;
  border-top: 1px solid var(--line);
  padding-top: 24px;
}

.bakura-account address {
  font-style: normal;
  line-height: 2;
  overflow-wrap: anywhere;
}

.bakura-account .woocommerce-Address-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.bakura-account .woocommerce-Address-title .edit {
  min-height: 44px;
}

.bakura-account .woocommerce-address-fields {
  max-width: 760px;
}

.bakura-account .select2-container {
  max-width: 100%;
}

.bakura-account .select2-container .select2-selection--single {
  height: 54px;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.bakura-account .select2-container .select2-selection__rendered {
  line-height: 52px;
  padding-inline: 14px 28px;
  color: var(--ink);
}

.bakura-account .select2-container .select2-selection__arrow {
  height: 52px;
}

.bakura-account .select2-search__field {
  color: var(--ink);
}

.bakura-account .select2-dropdown {
  background: var(--cream);
  border-color: var(--line);
}

.bakura-account
  .select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background: var(--ink);
  color: var(--cream);
}

.bakura-account .woocommerce-error {
  color: #8b241c;
  padding: 20px 28px;
  border: 1px solid currentcolor;
  margin-block: 0 28px;
}

.bakura-account .woocommerce-message,
.bakura-account .woocommerce-info {
  padding: 22px;
  border: 1px solid var(--line);
  margin-bottom: 28px;
}

.bakura-account .woocommerce-info .button {
  margin-inline-end: 16px;
}

.bakura-account .account-reset-confirmation {
  margin-block: 32px;
}

.bakura-account .skip-link:not(:focus) {
  clip-path: inset(50%);
}

@media (max-width: 1100px) {
  .account-member #main > .woocommerce {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 32px;
  }
}

@media (max-width: 900px) {
  .account-member #main > .woocommerce {
    display: block;
  }

  .woocommerce-MyAccount-navigation {
    margin-bottom: 32px;
  }

  .account-menu {
    border-block: 1px solid var(--line);
  }

  .account-menu summary {
    display: list-item;
  }

  .account-menu summary span {
    font-size: 14px;
    font-weight: 400;
    margin-inline-start: 16px;
  }
}

@media (max-width: 700px) {
  .bakura-account .page-content {
    padding-block: 32px 64px;
  }

  .bakura-account h1 {
    margin-bottom: 24px;
  }

  .bakura-account h2 {
    font-size: 22px;
  }

  .bakura-account .woocommerce-orders-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .bakura-account .woocommerce-orders-table,
  .bakura-account .woocommerce-orders-table tbody {
    display: block;
  }

  .bakura-account .woocommerce-orders-table tr {
    display: block;
    padding-block: 12px 24px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 16px;
  }

  .bakura-account .woocommerce-orders-table :is(th, td) {
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
    border: 0;
    padding: 8px 0;
  }

  .bakura-account .woocommerce-orders-table :is(th, td)::before {
    content: attr(data-title);
    font-size: 14px;
    color: var(--muted);
    font-weight: 400;
  }

  .bakura-account
    .woocommerce-orders-table
    td.woocommerce-orders-table__cell-order-actions {
    justify-content: flex-end;
    flex-wrap: wrap;
  }

  .bakura-account
    .woocommerce-orders-table
    td.woocommerce-orders-table__cell-order-actions::before {
    content: none;
  }

  .bakura-account .woocommerce-customer-details,
  .bakura-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .bakura-account :is(th, td) {
    padding: 16px 6px;
  }

  .bakura-account .woocommerce-table--order-details {
    font-size: 14px;
  }

  .bakura-account .woocommerce-table--order-details td.product-total {
    white-space: nowrap;
  }

  .bakura-account .woocommerce-info .button {
    display: flex;
    margin: 0 0 16px;
  }

  .bakura-account .edit-account > p:last-of-type .button,
  .bakura-account .woocommerce-address-fields > p .button {
    width: 100%;
  }
}

.bakura-account .woocommerce .woocommerce-MyAccount-navigation ul {
  display: block;
  margin: 0;
}

.bakura-account .woocommerce .woocommerce-error:focus {
  outline: 3px solid #8d5820;
  outline-offset: 4px;
}

.bakura-account .account-address-book {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}

.bakura-account .woocommerce-customer-details--phone,
.bakura-account .woocommerce-customer-details--email {
  direction: ltr;
  unicode-bidi: isolate;
  text-align: end;
}

html:not([dir="rtl"]) .bakura-account .woocommerce-customer-details--phone,
html:not([dir="rtl"]) .bakura-account .woocommerce-customer-details--email {
  text-align: start;
}

@media (max-width: 700px) {
  .bakura-account
    .woocommerce-orders-table
    td.woocommerce-orders-table__cell-order-total {
    display: block;
    text-align: end;
  }

  .bakura-account
    .woocommerce-orders-table
    td.woocommerce-orders-table__cell-order-total::before {
    float: inline-start;
  }
}

.bakura-account
  .woocommerce-customer-details:not(:has(> .woocommerce-columns)) {
  display: block;
}

html[dir="rtl"] .bakura-account .password-input input {
  padding-inline: 60px 14px;
}

.bakura-account .account-field-error {
  display: block;
  color: #8b241c;
  font-size: 14px;
  margin-top: 8px;
}

.bakura-account input[aria-invalid="true"] {
  border-color: #8b241c;
}

.account-registration-entry {
  margin-block: -20px 24px;
}

.account-registration-entry a,
.account-back a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  text-underline-offset: 5px;
}

/* stylelint-disable no-duplicate-selectors -- Deliberate late cascade over legacy theme rules. */

/* Luxury polish: focused account forms with clear native data hierarchy. */
.bakura-account .page-content {
  padding-block-start: 64px;
}

.account-guest #main {
  max-width: 880px;
}

.account-guest #main > .woocommerce {
  background: rgb(255 250 240 / 0.56);
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: var(--shadow-soft);
  padding: clamp(28px, 5vw, 58px);
}

.account-guest .woocommerce h2 {
  border-color: var(--line-strong);
}

.bakura-account .form-row > label {
  color: var(--ink-soft);
  font-weight: 560;
}

.woocommerce-MyAccount-navigation {
  border-block-start: 1px solid var(--line-strong);
}

.woocommerce-MyAccount-navigation a {
  color: var(--muted);
  border-color: var(--line);
  transition:
    background-color 180ms ease,
    color 180ms ease;
}

.woocommerce-MyAccount-navigation a:hover {
  color: var(--ink);
  text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a {
  color: var(--cream);
}

.bakura-account .woocommerce-orders-table,
.bakura-account .woocommerce-table--order-details {
  background: rgb(255 250 240 / 0.44);
}

.bakura-account thead th {
  background: rgb(244 236 216 / 0.58);
}

.bakura-account .woocommerce-column,
.bakura-account .woocommerce-Address {
  background: rgb(255 250 240 / 0.48);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 24px;
}

.bakura-account .woocommerce-error,
.bakura-account .woocommerce-message,
.bakura-account .woocommerce-info {
  background: rgb(255 250 240 / 0.62);
  border-radius: 3px;
}

.bakura-account .account-password {
  border-color: var(--line-strong);
}

@media (max-width: 700px) {
  .bakura-account .page-content {
    padding-block-start: 36px;
  }

  .account-guest #main > .woocommerce {
    margin-inline: calc(var(--space) * -0.35);
    padding: 24px 18px;
    box-shadow: none;
  }

  .bakura-account .woocommerce-orders-table tr {
    background: rgb(255 250 240 / 0.48);
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 14px 16px 22px;
  }

  .bakura-account .woocommerce-column,
  .bakura-account .woocommerce-Address {
    padding: 20px;
  }
}
/* stylelint-enable no-duplicate-selectors */

/* stylelint-disable no-duplicate-selectors -- Intentional late cascade for native account states. */

/* Account records remain native. This layer gives the same calm hierarchy to
   sign-in, address, order, and recovery states without changing their data. */
.bakura-account
  :is(
    a,
    button,
    input,
    select,
    textarea,
    summary,
    [tabindex]:not([tabindex="-1"])
  ):focus-visible {
  outline: 3px solid var(--gold-dark, #8d5820);
  outline-offset: 3px;
}

.bakura-account .form-row input:not([type="checkbox"], [type="hidden"]):focus,
.bakura-account .form-row select:focus,
.bakura-account .select2-container--focus .select2-selection--single {
  border-color: var(--ink);
  box-shadow: 0 0 0 2px rgb(200 133 55 / 0.18);
  outline: 0;
}

.bakura-account .form-row input[aria-invalid="true"],
.bakura-account .form-row select[aria-invalid="true"] {
  border-color: #8b241c;
  box-shadow: 0 0 0 2px rgb(139 36 28 / 0.12);
}

.bakura-account .account-field-error {
  border-inline-start: 3px solid #8b241c;
  padding-inline-start: 10px;
  font-weight: 600;
  line-height: 1.5;
}

.bakura-account .woocommerce-error {
  border-inline-start: 4px solid #8b241c;
  background: var(--paper);
  box-shadow: 0 8px 22px rgb(94 71 35 / 0.07);
}

.bakura-account .woocommerce-message {
  border-inline-start: 4px solid var(--gold-dark, #8d5820);
  background: var(--paper);
}

.bakura-account .woocommerce-info {
  border-inline-start: 4px solid var(--ink);
  background: var(--paper);
}

.bakura-account .woocommerce-error a,
.bakura-account .woocommerce-message a,
.bakura-account .woocommerce-info a {
  font-weight: 650;
  text-underline-offset: 4px;
}

.woocommerce-MyAccount-navigation a {
  min-height: 52px;
  display: flex;
  align-items: center;
  position: relative;
}

.woocommerce-MyAccount-navigation .is-active a::after {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 3px;
  background: var(--gold);
}

.bakura-account .woocommerce-orders-table tbody tr {
  transition: background-color 180ms ease;
}

.bakura-account .woocommerce-orders-table tbody tr:hover {
  background: rgb(244 236 216 / 0.58);
}

.bakura-account .woocommerce-orders-table .button {
  text-decoration: none;
}

.bakura-account .woocommerce-Address-title .edit {
  border: 1px solid var(--line-strong);
  padding-inline: 12px;
  text-decoration: none;
}

.bakura-account .woocommerce-Address-title .edit:hover {
  background: var(--paper-muted);
  text-decoration: none;
}

.bakura-account .account-reset-confirmation {
  max-width: 58ch;
  border-inline-start: 4px solid var(--gold-dark, #8d5820);
  background: var(--paper);
  padding: 18px 20px;
}

.bakura-account .account-password[open] summary {
  color: var(--ink);
}

@media (max-width: 900px) {
  .woocommerce-MyAccount-navigation a {
    padding-inline: 16px;
  }

  .account-menu summary {
    min-height: 52px;
    padding: 14px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bakura-account *,
  .bakura-account *::before,
  .bakura-account *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* stylelint-enable no-duplicate-selectors */

/* Stronger account hierarchy without changing forms or record ownership. */
/* stylelint-disable no-duplicate-selectors */
.bakura-account h1 {
  font-weight: 750;
}

.account-guest #main > .woocommerce {
  background: var(--cream);
  border-radius: 2px;
  box-shadow: none;
}

.bakura-account .woocommerce-column,
.bakura-account .woocommerce-Address {
  background: var(--cream);
  border-radius: 2px;
}

.bakura-account thead th {
  background: var(--paper-muted);
}
/* stylelint-enable no-duplicate-selectors */
