/* Layout adapters for native WooCommerce and YITH markup. */
.tc-account.tc-design-root {
    width: 100%;
    max-width: 1120px;
    margin-inline: auto;
    font-size: 16px;
    line-height: 1.9;
    text-align: start;
    overflow-wrap: anywhere;
}
.tc-account.tc-design-root h2 { margin: 0 0 16px; font-size: 26px; line-height: 1.5; color: var(--tc-ink); }
.tc-account.tc-design-root .woocommerce #customer_login {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    width: 100%;
}
.tc-account.tc-design-root .woocommerce #customer_login::before,
.tc-account.tc-design-root .woocommerce #customer_login::after { display: none; }
.tc-account.tc-design-root .woocommerce #customer_login > :is(.col-1, .col-2) {
    float: none;
    width: 100%;
    max-width: 100% !important; /* Contain the legacy theme's 48% !important. */
    min-width: 0;
    padding: 0;
}
.tc-account.tc-design-root .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) {
    margin: 0;
    padding: 24px;
    text-align: start;
}
.tc-account.tc-design-root .woocommerce > form.woocommerce-ResetPassword { max-width: 640px; margin-inline: auto; }
.tc-account.tc-design-root .woocommerce form .form-row { display: block; float: none; width: 100%; margin: 0 0 16px; padding: 0; }
.tc-account.tc-design-root .woocommerce form label { display: block; font-size: 16px; font-weight: 600; line-height: 1.8; }
.tc-account.tc-design-root .woocommerce form :is(input.input-text, select, textarea) { font: inherit; font-size: 16px; min-height: 44px; }
.tc-account.tc-design-root :is(input[type="email"], input[type="tel"], input[type="password"]) { direction: ltr; text-align: start; }
.tc-account.tc-design-root .woocommerce form .password-input { display: block; position: relative; width: 100%; }
.tc-account.tc-design-root .woocommerce form .password-input input { padding-inline-end: 48px; direction: ltr; text-align: start; }
.tc-account.tc-design-root .woocommerce form .show-password-input {
    position: absolute;
    inset: 0 0 0 auto;
    transform: none;
    display: grid;
    place-items: center;
    width: 44px;
    height: auto;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: var(--tc-radius);
    background: transparent;
    color: var(--tc-ink);
    font-size: 16px;
    cursor: pointer;
}
.tc-account.tc-design-root .woocommerce form .show-password-input::after { margin: 0; }
.tc-account.tc-design-root .woocommerce form .woocommerce-form-login__rememberme,
.tc-account.tc-design-root .woocommerce form .mailchimp-newsletter label,
.tc-account.tc-design-root .woocommerce form label[for^="mailchimp_woocommerce_is_"] { display: flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 400; cursor: pointer; }
.tc-account.tc-design-root :is(input[type="checkbox"], input[type="radio"][name="mailchimp_woocommerce_is_subscribed_radio"]) { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--tc-brand-dark); }
.tc-account.tc-design-root .woocommerce form :is(button.woocommerce-button, button.woocommerce-Button) { float: none; margin: 8px 0 0; max-width: 100%; white-space: normal; }
.tc-account.tc-design-root .woocommerce .lost_password { margin: 16px 0 0; }
.tc-account.tc-design-root a:not(.button) { color: var(--tc-success-ink); text-underline-offset: 3px; }
.tc-account.tc-design-root :is(.lost_password, .woocommerce-privacy-policy-text, .woocommerce-MyAccount-content) a:not(.button) { text-decoration: underline; }
.tc-account.tc-design-root :is(a, button, input[type="checkbox"], input[type="radio"][name="mailchimp_woocommerce_is_subscribed_radio"], .show-password-input):focus-visible { outline: 2px solid var(--tc-brand-dark); outline-offset: 3px; }
.tc-account.tc-design-root :is(a, button, input[type="checkbox"], input[type="radio"][name="mailchimp_woocommerce_is_subscribed_radio"], .show-password-input) { touch-action: manipulation; }
.tc-account.tc-design-root .woocommerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) { width: 100%; padding: 16px 48px 16px 16px; margin: 0 0 24px; text-align: start; }
.tc-account.tc-design-root[dir="ltr"] .woocommerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) { padding: 16px 16px 16px 48px; }
.tc-account.tc-design-root .woocommerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before { inset-inline-start: 16px; inset-inline-end: auto; }

/* Keep the existing endpoints, active classes, group toggles and menu order. */
.tc-account.tc-design-root .woocommerce:has(> .woocommerce-MyAccount-navigation, > .yith-wcmap) { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px; }
.tc-account.tc-design-root .woocommerce :is(.woocommerce-MyAccount-navigation, .yith-wcmap) { float: none; flex: 0 0 240px; width: 240px; margin: 0; padding: 16px; }
.tc-account.tc-design-root .woocommerce .woocommerce-MyAccount-content,
.tc-account.tc-design-root .woocommerce #my-account-menu-tab ~ .woocommerce-MyAccount-content { float: none; flex: 1 1 0; min-width: 0; width: auto; margin: 0; padding: 24px; }
.tc-account.tc-design-root :is(.woocommerce-MyAccount-navigation ul, .myaccount-menu, .myaccount-submenu) { margin: 0; padding: 0; list-style: none; }
.tc-account.tc-design-root :is(.woocommerce-MyAccount-navigation, .myaccount-menu) li { position: static; margin: 0; padding: 0; list-style: none; }
.tc-account.tc-design-root .woocommerce :is(.woocommerce-MyAccount-navigation, .myaccount-menu) li a,
.tc-account.tc-design-root :is(#my-account-menu, #my-account-menu-tab) .myaccount-menu li a {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-inline-start: 3px solid transparent;
    border-radius: var(--tc-radius);
    background: transparent;
    color: var(--tc-ink);
    line-height: 1.8;
    text-align: start;
    text-decoration: none;
    direction: inherit;
}
.tc-account.tc-design-root .woocommerce .woocommerce-MyAccount-navigation li.is-active a,
.tc-account.tc-design-root .woocommerce .myaccount-menu li.active > a,
.tc-account.tc-design-root :is(#my-account-menu, #my-account-menu-tab) .myaccount-menu li:is(.active, .is-active) > a { border-inline-start-color: var(--tc-brand-dark); background: var(--tc-success-soft); color: var(--tc-success-ink); font-weight: 700; }
.tc-account.tc-design-root .woocommerce .woocommerce-MyAccount-navigation li.is-active a::before { content: none; }
.tc-account.tc-design-root .yith-wcmap { --ywcmap-items-text-color: var(--tc-ink); --ywcmap-items-text-color-hover: var(--tc-success-ink); --ywcmap-items-text-color-active: var(--tc-success-ink); --ywcmap-items-background-color: var(--tc-surface); --ywcmap-items-background-color-hover: var(--tc-surface-soft); --ywcmap-items-background-color-active: var(--tc-success-soft); }
.tc-account.tc-design-root .yith-wcmap .user-profile { flex-direction: row; direction: inherit; gap: 12px; margin: 0 0 16px; }
.tc-account.tc-design-root .yith-wcmap .user-profile .user-avatar { margin: 0; }
.tc-account.tc-design-root .yith-wcmap .user-info { min-width: 0; text-align: start; }
.tc-account.tc-design-root .yith-wcmap .user-email { direction: ltr; unicode-bidi: isolate; }
.tc-account.tc-design-root .yith-wcmap .logout a { display: inline-flex; align-items: center; min-height: 44px; }
.tc-account.tc-design-root :is(#my-account-menu, #my-account-menu-tab) .myaccount-menu :is(.item-icon, .item-opener) { flex: none; float: none; margin: 0; }
.tc-account.tc-design-root :is(#my-account-menu, #my-account-menu-tab) .myaccount-menu .item-label { flex: 1; min-width: 0; text-align: start; }
.tc-account.tc-design-root :is(#my-account-menu, #my-account-menu-tab) .myaccount-menu .item-opener { margin-inline-start: auto; }
.tc-account.tc-design-root :is(#my-account-menu, #my-account-menu-tab) .myaccount-menu a:focus-visible { outline: 2px solid var(--tc-brand-dark); outline-offset: 3px; }
.tc-account.tc-design-root .yith-wcmap .myaccount-submenu { padding-inline-start: 16px; }
.tc-account.tc-design-root .woocommerce .yith-wcmap.position-horizontal { flex-basis: 100%; width: 100%; }
.tc-account.tc-design-root .woocommerce .yith-wcmap.position-horizontal .myaccount-menu { display: flex; flex-wrap: wrap; }
.tc-account.tc-design-root .woocommerce .yith-wcmap.position-horizontal + .woocommerce-MyAccount-content { flex-basis: 100%; }
.tc-account.tc-design-root .woocommerce-MyAccount-content table { display: block; max-width: 100%; overflow-x: auto; }

@media (hover: hover) and (pointer: fine) {
    .tc-account.tc-design-root a:not(.button):hover { text-decoration: underline; }
    .tc-account.tc-design-root .woocommerce :is(.woocommerce-MyAccount-navigation, .myaccount-menu) li a:hover,
    .tc-account.tc-design-root :is(#my-account-menu, #my-account-menu-tab) .myaccount-menu li a:hover { background: var(--tc-surface-soft); color: var(--tc-success-ink); }
}
@media (hover: none) {
    .tc-account.tc-design-root .woocommerce button[type="submit"]:hover { transform: none; }
}
@media (max-width: 47.99em) {
    .tc-account.tc-design-root .woocommerce #customer_login { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .tc-account.tc-design-root h2 { font-size: 22px; }
    .tc-account.tc-design-root .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword, .woocommerce-MyAccount-content),
    .tc-account.tc-design-root .woocommerce #my-account-menu-tab ~ .woocommerce-MyAccount-content { padding: 16px; }
    .tc-account.tc-design-root .woocommerce :is(.woocommerce-MyAccount-navigation, .yith-wcmap, .woocommerce-MyAccount-content) { flex-basis: 100%; width: 100%; }
    .tc-account.tc-design-root .woocommerce #my-account-menu:is(.position-vertical-left, .position-vertical-right) { margin-inline: 0; }
    .tc-account.tc-design-root .woocommerce button[type="submit"] { width: 100%; --tc-primary-button-padding: 16px; }
}
