/* Account access inherits the Elementor tokens defined by akn-account.css. */
.woocommerce-account:not(.logged-in):has(.akn-auth) #content > .page-header { display: none; }
.woocommerce-account:not(.logged-in):has(.akn-auth) #content > .page-content { margin-top: 0; padding-bottom: 0; }
.akn-auth-scene { position: relative; isolation: isolate; width: 100%; padding-block: 1px; }
.akn-auth-artwork { --akn-art-travel: 12px; position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.akn-auth-art { position: absolute; display: block; height: auto; }
.akn-auth-art--rainbow { inset-inline-end: clamp(0px, 1.5vw, 24px); top: 56px; width: clamp(180px, 22vw, 300px); }
.akn-auth-art--toys { inset-inline-end: clamp(8px, 3vw, 44px); bottom: 38px; width: clamp(170px, 21vw, 270px); }
.akn-auth-art--plane { inset-inline-start: clamp(0px, 2vw, 32px); top: 130px; width: clamp(150px, 18vw, 240px); }
.akn-art-pink { color: var(--akn-pink); }
.akn-art-blue { color: var(--akn-blue); }
.akn-art-yellow { color: var(--akn-yellow); }
.akn-art-green { color: var(--akn-green); }
.akn-art-cloud { fill: var(--akn-surface); stroke: color-mix(in srgb, var(--akn-blue) 40%, transparent); stroke-width: 2; }
@keyframes akn-auth-float {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(calc(-1 * var(--akn-art-travel))) rotate(1deg); }
}
@keyframes akn-auth-glide {
  0%, 100% { transform: translate(0, 0) rotate(-2deg); }
  50% { transform: translate(calc(var(--akn-art-travel) * .65), calc(-1 * var(--akn-art-travel))) rotate(2deg); }
}
@keyframes akn-auth-cloud-drift {
  0%, 100% { transform: translateX(-3px); }
  50% { transform: translateX(3px); }
}
@keyframes akn-auth-sparkle {
  0%, 100% { transform: scale(.9) rotate(-6deg); }
  50% { transform: scale(1.08) rotate(6deg); }
}
@keyframes akn-auth-flight-trail {
  to { stroke-dashoffset: -32; }
}
@media (prefers-reduced-motion: no-preference) {
  .akn-auth-art--rainbow { animation: akn-auth-float 8s ease-in-out infinite; }
  .akn-auth-art--toys { animation: akn-auth-float 10s ease-in-out -3s infinite; }
  .akn-auth-art--plane { animation: akn-auth-glide 12s ease-in-out -5s infinite; }
  .akn-auth-art--rainbow .akn-art-cloud { animation: akn-auth-cloud-drift 7s ease-in-out infinite; }
  .akn-auth-art--rainbow .akn-art-cloud + .akn-art-cloud { animation-delay: -3.5s; }
  .akn-art-sparkle { transform-box: fill-box; transform-origin: center; animation: akn-auth-sparkle 4.8s ease-in-out infinite; }
  .akn-auth-art--toys .akn-art-sparkle { animation-delay: -1.8s; }
  .akn-art-flight-trail { animation: akn-auth-flight-trail 6s linear infinite; }
}
.woocommerce-account .woocommerce #customer_login.akn-auth {
  position: relative;
  display: block;
  width: calc(100% - 32px);
  max-width: 560px;
  margin: clamp(28px, 4vw, 56px) auto clamp(40px, 5vw, 72px);
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid var(--akn-line);
  border-radius: 20px;
  background: var(--akn-surface);
  color: var(--akn-muted);
  box-shadow: 0 8px 32px color-mix(in srgb, var(--akn-ink) 4%, transparent);
  font-family: var(--akn-font-body);
  font-size: var(--akn-type-body);
  font-weight: var(--akn-weight-body);
  line-height: 1.6;
}
.akn-auth *, .akn-auth *::before, .akn-auth *::after { box-sizing: border-box; }
.akn-auth [hidden] { display: none !important; }
.akn-auth h1, .akn-auth h2 { margin: 0; color: var(--akn-ink); font-family: var(--akn-font-heading); font-weight: var(--akn-weight-strong); line-height: 1.3; }
.akn-auth h1 { font-size: var(--akn-type-title); }
.akn-auth h2 { font-size: var(--akn-type-heading); }
.akn-auth p { margin: 0; }
.woocommerce-account .woocommerce .akn-auth-notices :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { width: 100%; min-height: 0; margin: 0 0 22px; padding: 14px 16px 14px 42px; font-size: var(--akn-type-caption); line-height: 1.65; overflow-wrap: anywhere; }
.woocommerce-account .woocommerce .akn-auth-notices :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { top: 16px; inset-inline-start: 14px; width: 18px; height: 18px; }
.woocommerce-account .woocommerce .akn-auth-notices :is(.woocommerce-message, .woocommerce-info) { flex-wrap: wrap; }
.akn-auth-notices .woocommerce-notices-wrapper { margin: 0; }
.akn-auth-notices .woocommerce-error li { margin: 0; padding: 0; }
.akn-auth-notices .woocommerce-error li + li { margin-top: 8px; }
.akn-auth-intro { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 26px; }
.akn-auth-intro p { margin-top: 6px; font-size: var(--akn-type-small); line-height: 1.6; }
.akn-auth-mark { display: grid; place-items: center; flex: none; width: 48px; height: 48px; border-radius: 15px; background: var(--akn-soft); color: var(--akn-pink); }
.akn-auth-mark svg { width: 25px; height: 25px; }
.akn-auth-tabs { display: flex; gap: 6px; padding: 5px; margin-bottom: 28px; border: 1px solid var(--akn-line); border-radius: 12px; background: var(--akn-subtle); }
.woocommerce-account .akn-auth .akn-auth-tab { flex: 1 1 0; min-width: 0; min-height: 44px; margin: 0; padding: 10px 14px; border: 0; border-radius: 8px; background: transparent; color: var(--akn-muted); box-shadow: none; font-family: var(--akn-font-body); font-size: var(--akn-type-body); font-weight: var(--akn-weight-action); line-height: 1.5; text-align: center; text-transform: none; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.woocommerce-account .akn-auth .akn-auth-tab[aria-selected="true"] { background: var(--akn-pink); color: var(--akn-surface); }
.woocommerce-account .akn-auth .akn-auth-tab:not([aria-selected="true"]):hover { color: var(--akn-ink); background: var(--akn-soft); }
.woocommerce-account .akn-auth .akn-auth-tab:focus { outline: none; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--akn-pink) 75%, var(--akn-ink)); }
.akn-auth :is(a, button):focus-visible { outline: 2px solid var(--akn-pink); outline-offset: 3px; }
.woocommerce-account .woocommerce #customer_login.akn-auth > .akn-auth-panel { float: none; width: 100%; min-width: 0; margin: 0; padding: 0; }
.woocommerce-account .woocommerce #customer_login.akn-auth:not(.is-ready) > .akn-auth-panel + .akn-auth-panel { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--akn-line); }
.akn-auth-panel-heading { margin-bottom: 24px; }
.akn-auth-panel-heading p { margin-top: 8px; font-size: var(--akn-type-small); }
.woocommerce-account .woocommerce .akn-auth form.woocommerce-form { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--akn-muted); font: inherit; }
.woocommerce-account .woocommerce .akn-auth form.woocommerce-form .form-row { float: none; width: 100%; margin: 0 0 20px; padding: 0; }
.woocommerce-account .woocommerce .akn-auth form.woocommerce-form label { display: block; margin: 0 0 8px; color: var(--akn-ink); font-size: var(--akn-type-small); font-weight: var(--akn-weight-action); line-height: 1.5; }
.akn-auth .required { color: var(--akn-pink); }
/* Override the live site's broad important styles on all authentication inputs. */
.woocommerce-account .akn-auth form.woocommerce-form :is(input.input-text, select, textarea) {
  width: 100%;
  height: auto !important;
  min-height: 50px;
  margin: 0;
  padding: 12px 14px !important;
  border: 1px solid var(--akn-line) !important;
  border-radius: 10px !important;
  background: var(--akn-surface) !important;
  color: var(--akn-ink) !important;
  box-shadow: none;
  font-family: var(--akn-font-body) !important;
  font-size: var(--akn-type-body);
  font-weight: var(--akn-weight-body);
  line-height: 1.5 !important;
}
.woocommerce-account .akn-auth form.woocommerce-form :is(input.input-text, select, textarea):is(:focus, :focus-visible, :active) { border-color: var(--akn-pink) !important; outline: none; outline-offset: 0; box-shadow: inset 0 0 0 1px var(--akn-pink); }
.akn-auth .password-input { position: relative; display: block; width: 100%; }
.woocommerce-account .akn-auth form.woocommerce-form .password-input input { padding-inline-end: 48px !important; }
.woocommerce-account .akn-auth .show-password-input { top: 50%; inset-inline-end: 14px; margin: 0; transform: translateY(-50%); color: var(--akn-muted); }
.woocommerce-account .woocommerce .akn-auth form.woocommerce-form .akn-auth-remember { margin-bottom: 20px; }
.woocommerce-account .woocommerce .akn-auth form.woocommerce-form .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 9px; margin: 0; color: var(--akn-muted); font-size: var(--akn-type-caption); font-weight: var(--akn-weight-body); }
.woocommerce-account .akn-auth form.woocommerce-form input[type="checkbox"] { flex: none; width: 18px; height: 18px !important; min-height: 0; margin: 0; padding: 0 !important; border: 1px solid var(--akn-line) !important; border-radius: 4px !important; background: var(--akn-surface) !important; accent-color: var(--akn-pink); }
.woocommerce-account .woocommerce .akn-auth form.woocommerce-form .akn-auth-submit { margin: 0; }
.woocommerce-account .woocommerce .akn-auth form.woocommerce-form .button { display: flex; align-items: center; justify-content: center; float: none; width: 100%; min-height: 48px; margin: 0; padding: 12px 18px; border: 0; border-radius: 10px; background: var(--akn-pink); color: var(--akn-surface); box-shadow: none; font-family: var(--akn-font-body); font-size: var(--akn-type-body); font-weight: var(--akn-weight-action); line-height: 1.5; text-decoration: none; }
.woocommerce-account .woocommerce .akn-auth form.woocommerce-form .button:is(:hover, :focus, :active) { background: color-mix(in srgb, var(--akn-pink) 88%, var(--akn-ink)); color: var(--akn-surface); }
.akn-auth a { color: var(--akn-pink); text-decoration: none; }
.akn-auth a:hover { text-decoration: underline; text-underline-offset: .15em; }
.woocommerce-account .woocommerce .akn-auth .lost_password { margin: 20px 0 0; font-size: var(--akn-type-caption); text-align: center; }
.akn-auth :is(.woocommerce-privacy-policy-text, .akn-auth-password-note) { margin-bottom: 22px; color: var(--akn-muted); font-size: var(--akn-type-caption); line-height: 1.65; }
.akn-auth .woocommerce-privacy-policy-text p { margin: 0; }
.akn-auth .woocommerce-privacy-policy-text a { text-decoration: underline; text-underline-offset: .15em; }
.akn-auth .woocommerce-password-strength { margin-top: 8px; border-radius: 6px; font-size: var(--akn-type-caption); }
.akn-auth .woocommerce-password-hint { margin-top: 8px; font-size: var(--akn-type-caption); }
@media (max-width: 1000px) {
  .akn-auth-art--rainbow { inset-inline-end: -28px; width: 190px; opacity: .7; }
  .akn-auth-art--toys { inset-inline-end: -30px; width: 190px; opacity: .7; }
  .akn-auth-art--plane { inset-inline-start: -34px; width: 170px; opacity: .65; }
}
@media (max-width: 767px) {
  .akn-auth-artwork { --akn-art-travel: 6px; }
  .akn-auth-art--rainbow { top: 0; inset-inline-end: -44px; width: 138px; opacity: .35; }
  .akn-auth-art--toys { bottom: 0; inset-inline-end: -35px; width: 150px; opacity: .35; }
  .akn-auth-art--plane { display: none; }
}
@media (max-width: 480px) {
  .woocommerce-account .woocommerce #customer_login.akn-auth { margin-block: 24px 40px; padding: 22px; border-radius: 16px; }
  .akn-auth-intro { gap: 12px; margin-bottom: 22px; }
  .akn-auth-mark { width: 42px; height: 42px; border-radius: 12px; }
  .akn-auth h1 { font-size: calc(var(--akn-base) * 1.625); }
  .akn-auth-tabs { margin-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce-account .akn-auth .akn-auth-tab { transition: none; }
}
