.my-account-layout {
  --account-control-height: max(3.25rem, calc(3.25 * var(--su)));
  --wc-form-border-color: #e3e9ee;
  --wc-form-border-width: 1px;
  --wc-form-border-radius: var(--radius-sm);
  --wc-form-color-background: #f8fafc;
  padding-inline: var(--pk-site-gutter);
  background: var(--pk-page-bg-color);
}

.my-account-layout__row {
  padding-block: max(2rem, calc(2.5 * var(--su))) max(3rem, calc(4 * var(--su)));
}

.my-account-layout__header,
.my-account-layout__content {
  row-gap: 0;
}

.my-account-layout__header {
  background: transparent;
  margin-bottom: max(2rem, calc(2.5 * var(--su)));
}

.my-account-layout__eyebrow {
  margin: 0 0 max(1rem, calc(1 * var(--su)));
  color: var(--secondary-color);
  font-size: var(--desktop-body-xs);
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.my-account-layout .my-account-layout__heading {
  margin: 0;
}

.my-account-layout__intro {
  margin: max(0.75rem, calc(0.75 * var(--su))) 0 0;
  color: var(--color-muted);
  font-size: var(--desktop-body-lg);
}

.my-account-layout__woocommerce .woocommerce {
  display: flow-root;
}

.my-account-layout__woocommerce .woocommerce-notices-wrapper > *,
.my-account-layout__woocommerce .woocommerce-message,
.my-account-layout__woocommerce .woocommerce-info,
.my-account-layout__woocommerce .woocommerce-error {
  margin: 0 0 var(--space-4);
  padding: var(--space-3) var(--space-4);
  color: var(--pk-text-color);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-left: max(0.25rem, calc(0.25 * var(--su))) solid var(--secondary-color);
  border-radius: var(--radius-sm);
}

.my-account-layout__woocommerce :is(.woocommerce-message, .woocommerce-info) {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-height: max(4.5rem, calc(4.5 * var(--su)));
}

.my-account-layout__woocommerce :is(.woocommerce-message, .woocommerce-info)::before {
  position: static;
  flex: 0 0 auto;
  width: max(1.5rem, calc(1.5 * var(--su)));
  height: max(1.5rem, calc(1.5 * var(--su)));
  margin: 0;
  color: #fff;
  background: var(--secondary-color);
  border-radius: 50%;
  font-size: max(0.8rem, calc(0.8 * var(--su)));
  line-height: max(1.5rem, calc(1.5 * var(--su)));
  text-align: center;
  font-family: inherit;
  font-weight: 700;
}

.my-account-layout__woocommerce .woocommerce-info::before {
  content: "i";
}

.my-account-layout__woocommerce :is(.woocommerce-message, .woocommerce-info) .button {
  order: 2;
  flex: 0 0 auto;
  margin-left: auto;
}

.my-account-layout__woocommerce #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pk-column-gap);
}

.my-account-layout__woocommerce #customer_login > .col-1,
.my-account-layout__woocommerce #customer_login > .col-2 {
  float: none;
  width: 100%;
  padding: var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  box-shadow: 0 max(0.25rem, calc(0.25 * var(--su)))
    max(1.5rem, calc(1.5 * var(--su))) rgba(18, 50, 110, 0.06);
}

.my-account-layout__woocommerce #customer_login:has(> .col-1:only-child) {
  grid-template-columns: minmax(0, 1fr);
  max-width: min(100%, max(30rem, calc(34 * var(--su))));
}

body:not(.logged-in) .my-account-layout__row {
  padding-block: max(3rem, calc(4 * var(--su))) max(4rem, calc(5 * var(--su)));
}

body:not(.logged-in) .my-account-layout__header {
  display: flex;
  justify-content: center;
  margin-bottom: max(2.5rem, calc(3 * var(--su)));
  text-align: center;
}

body:not(.logged-in) .my-account-layout__header > div {
  width: 100%;
  max-width: 42rem;
}

body:not(.logged-in) .my-account-layout__woocommerce > .woocommerce {
  width: 100%;
  max-width: 72rem;
  margin-inline: auto;
}

body:not(.logged-in) .my-account-layout__woocommerce #customer_login {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body:not(.logged-in) .my-account-layout__woocommerce #customer_login > .col-1,
body:not(.logged-in) .my-account-layout__woocommerce #customer_login > .col-2,
body:not(.logged-in) .my-account-layout__woocommerce .woocommerce-form-login.login {
  padding: max(1.5rem, calc(2 * var(--su)));
}

body:not(.logged-in) .my-account-layout__woocommerce h2 {
  margin-bottom: var(--space-4);
  text-align: center;
}

body:not(.logged-in) .my-account-layout__woocommerce h2:has(+ .woocommerce-form-login) {
  display: none;
}

body:not(.logged-in) .my-account-layout__woocommerce form .form-row {
  margin-bottom: var(--space-4);
}

.my-account-layout__woocommerce .woocommerce-form-login.login {
  margin: 0;
  padding: var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  box-shadow: 0 max(0.25rem, calc(0.25 * var(--su)))
    max(1.5rem, calc(1.5 * var(--su))) rgba(18, 50, 110, 0.06);
}

.my-account-layout__woocommerce h2,
.my-account-layout__woocommerce h3 {
  margin: 0 0 var(--space-3);
  color: var(--primary-color);
  font-size: var(--scaling-h3);
}

.my-account-layout__woocommerce form .form-row {
  margin: 0 0 var(--space-3);
  padding: 0;
}

.my-account-layout__woocommerce form .form-row label {
  display: block;
  margin-bottom: max(0.3rem, calc(0.3 * var(--su)));
  color: var(--primary-color);
  font-size: var(--desktop-body-xs);
  font-weight: 700;
  line-height: 1.3;
}

.my-account-layout__woocommerce .woocommerce-input-wrapper,
.my-account-layout__woocommerce .password-input {
  display: block;
  width: 100%;
}

.my-account-layout__woocommerce .woocommerce form .form-row .input-text,
.my-account-layout__woocommerce .woocommerce form .form-row select,
.my-account-layout__woocommerce .woocommerce form .form-row .select2-selection {
  box-sizing: border-box;
  width: 100%;
  min-height: var(--account-control-height);
  padding: 0 var(--space-3);
  color: var(--pk-text-color);
  background: #f8fafc;
  border: 1px solid #e3e9ee;
  border-radius: var(--radius-sm);
  box-shadow: none;
  font-family: var(--pk-text-font-family);
  font-size: var(--desktop-body-sm);
  line-height: 1.4;
  transition: background-color 160ms ease, border-color 160ms ease,
    box-shadow 160ms ease;
}

.my-account-layout__woocommerce .woocommerce form .form-row textarea.input-text {
  min-height: max(7rem, calc(8 * var(--su)));
  padding-block: var(--space-2);
  resize: vertical;
}

.my-account-layout__woocommerce
  .woocommerce
  form
  .form-row
  :is(.input-text, select, .select2-selection):hover {
  background: #fff;
  border-color: #ccd8e1;
}

.my-account-layout__woocommerce
  .woocommerce
  form
  .form-row
  :is(.input-text, select, .select2-selection):focus {
  background: #fff;
  border-color: var(--secondary-color);
  outline: 0;
  box-shadow: 0 0 0 max(0.2rem, calc(0.2 * var(--su)))
    color-mix(in srgb, var(--secondary-color) 16%, transparent);
}

.my-account-layout__woocommerce .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin: 0 var(--space-3) 0 0;
}

.my-account-layout__woocommerce input[type="checkbox"] {
  width: max(1.125rem, calc(1.125 * var(--su)));
  height: max(1.125rem, calc(1.125 * var(--su)));
  accent-color: var(--secondary-color);
}

.my-account-layout__woocommerce :is(button.button, a.button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--pk-button-min-height);
  padding: var(--pk-button-padding-block) var(--pk-button-padding-inline);
  color: var(--button-text-color-1);
  background: var(--button-bg-1);
  border: 1px solid var(--button-border-color-1);
  border-radius: var(--pk-button-border-radius);
  font-family: var(--pk-button-font-family);
  font-size: var(--pk-button-font-size);
  font-weight: var(--pk-button-font-weight);
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}

.my-account-layout__woocommerce :is(button.button, a.button):hover {
  color: var(--button-text-color-1-hover);
  background: var(--button-bg-1-hover);
  border-color: var(--button-border-color-1-hover);
}

.my-account-layout__woocommerce .lost_password {
  margin: var(--space-3) 0 0;
}

.my-account-layout__woocommerce .lost_password a,
.my-account-layout__woocommerce .woocommerce-MyAccount-content a:not(.button) {
  color: var(--primary-color);
  font-weight: 600;
  text-underline-offset: 0.15em;
}

.my-account-layout__woocommerce .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: minmax(14rem, 3fr) minmax(0, 9fr);
  align-items: start;
  gap: var(--pk-column-gap);
}

.my-account-layout__woocommerce
  .woocommerce:has(.woocommerce-MyAccount-navigation)::before,
.my-account-layout__woocommerce
  .woocommerce:has(.woocommerce-MyAccount-navigation)::after,
.my-account-layout__woocommerce .woocommerce-Addresses::before,
.my-account-layout__woocommerce .woocommerce-Addresses::after {
  display: none;
  content: none;
}

.my-account-layout__woocommerce .woocommerce-MyAccount-navigation {
  float: none;
  width: 100%;
}

.my-account-layout__woocommerce .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: var(--space-2);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  box-shadow: 0 max(0.25rem, calc(0.25 * var(--su)))
    max(1.5rem, calc(1.5 * var(--su))) rgba(18, 50, 110, 0.06);
  list-style: none;
}

.my-account-layout__woocommerce .woocommerce-MyAccount-navigation li {
  margin: 0;
}

.my-account-layout__woocommerce .woocommerce-MyAccount-navigation a {
  display: flex;
  align-items: center;
  min-height: var(--pk-button-min-height);
  padding: var(--space-2) var(--space-3);
  color: var(--pk-text-color);
  border-radius: var(--radius-sm);
  font-weight: 600;
  text-decoration: none;
}

.my-account-layout__woocommerce .woocommerce-MyAccount-navigation a:hover,
.my-account-layout__woocommerce
  .woocommerce-MyAccount-navigation
  .is-active
  a {
  color: var(--primary-color);
  background: var(--pk-page-bg-color);
}

.my-account-layout__woocommerce .woocommerce-MyAccount-content {
  float: none;
  width: 100%;
  min-height: max(20rem, calc(20 * var(--su)));
  padding: var(--space-4);
  background: var(--color-surface);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  box-shadow: 0 max(0.25rem, calc(0.25 * var(--su)))
    max(1.5rem, calc(1.5 * var(--su))) rgba(18, 50, 110, 0.06);
}

.my-account-layout__woocommerce .shop_table {
  width: 100%;
  margin: 0;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

.my-account-layout__woocommerce .shop_table th,
.my-account-layout__woocommerce .shop_table td {
  padding: var(--space-3);
  border: 0;
  border-bottom: 1px solid var(--color-line);
}

.my-account-layout__woocommerce .shop_table tr:last-child > * {
  border-bottom: 0;
}

.my-account-layout__woocommerce .woocommerce-orders-table__cell-order-actions .button {
  margin: 0 var(--space-2) var(--space-2) 0;
}

.my-account-layout__woocommerce .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pk-column-gap);
  margin-top: var(--space-4);
}

.my-account-layout__woocommerce .woocommerce-Addresses .woocommerce-Address {
  float: none;
  box-sizing: border-box;
  width: 100% !important;
  max-width: none;
  padding: var(--space-4);
  background: var(--pk-page-bg-color);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
}

.my-account-layout__woocommerce .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin: 0 0 var(--space-3);
  padding: 0;
  width: 100%;
  background: transparent;
}

.my-account-layout__woocommerce .woocommerce .woocommerce-Address-title::before,
.my-account-layout__woocommerce .woocommerce .woocommerce-Address-title::after {
  display: none !important;
  content: none !important;
}

.my-account-layout__woocommerce .woocommerce-Address-title h2,
.my-account-layout__woocommerce .woocommerce-Address-title h3 {
  float: none;
  margin: 0;
}

.my-account-layout__woocommerce
  .woocommerce
  .woocommerce-Address-title
  .edit {
  float: none;
  flex: 0 0 auto;
}

.my-account-layout__woocommerce .woocommerce-Address address {
  margin: 0;
  color: var(--color-muted);
  line-height: 1.6;
}

/* A private shop opens directly on a dedicated login screen. */
.shop-login-screen .pk-page,
.shop-login-screen .pk-page-content {
  min-height: 100svh;
}

.my-account-layout--guest {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  min-height: 100svh;
  padding: clamp(1.25rem, 5vw, 4rem);
  background: linear-gradient(135deg, var(--primary-color), color-mix(in srgb, var(--primary-color) 70%, var(--secondary-color)));
}

body.shop-login-screen .my-account-layout--guest .my-account-layout__row {
  box-sizing: border-box;
  width: 100%;
  max-width: 72rem;
  min-width: 0;
  margin: 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--color-surface);
  border-radius: var(--radius-md);
  box-shadow: 0 1.5rem 4rem rgba(0, 19, 55, .22);
}

.my-account-layout--guest :is(.my-account-layout__header, .my-account-layout__content, .my-account-layout__woocommerce) {
  min-width: 0;
  width: 100%;
}

body.shop-login-screen .my-account-layout--guest .my-account-layout__header {
  display: block;
  margin: 0 0 var(--space-5);
  text-align: center;
}

body.shop-login-screen .my-account-layout--guest .my-account-layout__header > div,
body.shop-login-screen .my-account-layout--guest .my-account-layout__woocommerce > .woocommerce {
  width: 100%;
  max-width: none;
}

.my-account-layout__login-logo {
  display: flex;
  justify-content: center;
  margin-bottom: var(--space-5);
}

.my-account-layout__login-logo-image {
  display: block;
  width: min(100%, 15rem);
  max-height: 6rem;
  height: auto;
  object-fit: contain;
}

.my-account-layout--guest .my-account-layout__heading {
  font-size: clamp(2rem, 4vw, 2.5rem);
  line-height: 1.15;
}

.my-account-layout--guest .my-account-layout__intro {
  margin-top: var(--space-2);
  font-size: var(--desktop-body-md);
}

body.shop-login-screen .my-account-layout--guest .my-account-layout__woocommerce .woocommerce-form-login.login,
body.shop-login-screen .my-account-layout--guest .my-account-layout__woocommerce #customer_login > .col-1,
body.shop-login-screen .my-account-layout--guest .my-account-layout__woocommerce #customer_login > .col-2 {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.my-account-layout--guest .my-account-layout__woocommerce .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.my-account-layout--guest .my-account-layout__woocommerce .woocommerce-form-login__rememberme {
  margin: 0;
}

.my-account-layout--guest .my-account-layout__woocommerce .woocommerce-form-login__submit {
  width: 100%;
}

.my-account-layout--guest .shmuhl-registration-name-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.my-account-layout--guest .shmuhl-registration-name-fields .form-row {
  float: none;
  width: 100%;
}

.my-account-layout--guest .woocommerce-form-register__submit {
  width: 100%;
}

body.shop-login-screen .my-account-layout--guest.my-account-layout--tabs-ready .my-account-layout__row {
  max-width: 34rem;
}

body.shop-login-screen .my-account-layout--guest.my-account-layout--recovery .my-account-layout__row {
  max-width: 34rem;
}

.my-account-layout--recovery .woocommerce-ResetPassword {
  width: 100%;
  max-width: none;
}

.my-account-layout--recovery .woocommerce-ResetPassword .form-row-first {
  float: none;
  width: 100%;
}

.account-auth-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-1);
  margin-bottom: var(--space-5);
  padding: max(0.25rem, calc(0.25 * var(--su)));
  background: var(--pk-page-bg-color);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
}

.account-auth-tabs__button {
  min-height: var(--pk-button-min-height);
  padding: var(--space-2) var(--space-3);
  color: var(--color-muted);
  background: transparent;
  border: 0;
  border-radius: calc(var(--radius-sm) - 2px);
  font-family: var(--pk-heading-font-family);
  font-size: var(--desktop-body-md);
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.account-auth-tabs__button:hover {
  color: var(--primary-color);
}

.account-auth-tabs__button.is-active {
  color: var(--button-text-color-1);
  background: var(--button-bg-1);
  box-shadow: 0 max(0.2rem, calc(0.2 * var(--su))) max(0.75rem, calc(0.75 * var(--su))) rgba(18, 50, 110, 0.12);
}

.account-auth-tabs__button:focus-visible {
  outline: max(0.15rem, calc(0.15 * var(--su))) solid var(--secondary-color);
  outline-offset: 2px;
}

.my-account-layout__woocommerce #customer_login.has-auth-tabs {
  display: block;
  max-width: none;
}

.my-account-layout__woocommerce #customer_login.has-auth-tabs > [role="tabpanel"] {
  width: 100%;
}

.my-account-layout__woocommerce #customer_login.has-auth-tabs > [role="tabpanel"][hidden] {
  display: none;
}

.my-account-layout__woocommerce #customer_login.has-auth-tabs > [role="tabpanel"] > h2 {
  display: none;
}

body.shop-login-screen .my-account-layout--guest .my-account-layout__woocommerce .woocommerce-form-register.register {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.my-account-layout--tabs-ready .shmuhl-registration-name-fields {
  grid-template-columns: 1fr;
  gap: 0;
}

.my-account-layout--guest .my-account-layout__woocommerce .lost_password {
  margin-top: var(--space-4);
  text-align: center;
}

@media screen and (max-width: 992px) {
  body:not(.logged-in) .my-account-layout__woocommerce #customer_login {
    grid-template-columns: 1fr;
  }

  body.shop-login-screen .my-account-layout--guest .my-account-layout__row {
    max-width: 36rem;
  }

  .my-account-layout__woocommerce .woocommerce:has(.woocommerce-MyAccount-navigation) {
    grid-template-columns: 1fr;
  }

  .my-account-layout__woocommerce .woocommerce-MyAccount-navigation,
  .my-account-layout__woocommerce .woocommerce-MyAccount-content {
    float: none;
    width: 100%;
  }

  .my-account-layout__woocommerce .woocommerce-MyAccount-navigation {
    margin-bottom: var(--space-4);
  }
}

@media screen and (max-width: 767px) {
  .my-account-layout__row {
    padding-block: var(--space-4) var(--space-5);
  }

  body.shop-login-screen .my-account-layout--guest .my-account-layout__row {
    padding: var(--space-4);
  }

  .my-account-layout__header {
    margin-bottom: var(--space-4);
  }

  body:not(.logged-in) .my-account-layout__row {
    padding-block: var(--space-5);
  }

  body:not(.logged-in) .my-account-layout__header {
    margin-bottom: var(--space-4);
  }

  .my-account-layout__intro {
    font-size: var(--desktop-body-md);
  }

  .my-account-layout__woocommerce #customer_login,
  .my-account-layout__woocommerce .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }

  .my-account-layout--guest .shmuhl-registration-name-fields {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .my-account-layout__woocommerce :is(.woocommerce-message, .woocommerce-info) {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .my-account-layout__woocommerce :is(.woocommerce-message, .woocommerce-info) .button {
    width: 100%;
    margin: var(--space-2) 0 0;
  }

  .my-account-layout__woocommerce .woocommerce-Address-title {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-1);
  }

  .my-account-layout__woocommerce .woocommerce-Address-title .edit {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .my-account-layout__woocommerce #customer_login > .col-1,
  .my-account-layout__woocommerce #customer_login > .col-2,
  .my-account-layout__woocommerce .woocommerce-MyAccount-content {
    padding: var(--space-3);
  }
}
