/* Shared native login presentation: opted-in account shortcode and the scoped
 * order-received login wrapper. Other WooCommerce forms are not selected. */
.galo-account-access {
    --galo-account-ink: #061130;
    --galo-account-paper: #fff7f4;
    --galo-account-border: #d3bfbc;
    --galo-account-muted: #575e6c;
    --galo-account-blush: #f7e7e3;
    --galo-account-focus: #576697;
    width: 100%;
    color: var(--galo-account-ink);
    font: 400 14px/1.5 "Nunito Sans", Arial, sans-serif;
}

/* Keep the native order login readable within the existing Purchase Summary.
 * All field/button styling below is shared with Mi cuenta. */
.galo-account-access.galo-order-access {
    max-width: 672px;
    margin: 28px 0 0;
}

.galo-account-access .galo-account-tablist {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--galo-account-border);
}

.galo-account-access .galo-account-tab {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 36px;
    margin: 0 0 -1px;
    padding: 8px 16px;
    border: 0;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    color: var(--galo-account-ink);
    font: 400 16px/24px "Nunito Sans", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: none;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .15s ease;
}

.galo-account-access .galo-account-tab.is-active {
    border-bottom-color: var(--galo-account-ink);
}

.galo-account-access .galo-account-tab:focus-visible,
.galo-account-access .galo-account-panel:focus-visible {
    outline: 2px solid var(--galo-account-focus);
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    .galo-account-access .galo-account-tab:hover {
        background-color: var(--galo-account-blush);
        color: var(--galo-account-ink);
    }
}

.galo-account-access .woocommerce #customer_login {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
}

.galo-account-access .woocommerce #customer_login > .galo-account-panel {
    float: none !important;
    width: 100% !important;
    max-width: none;
    margin: 0;
    padding: 0;
}

.galo-account-access .woocommerce #customer_login > .galo-account-panel[hidden],
.galo-account-access .woocommerce #customer_login > .galo-account-panel > h2 {
    display: none !important;
}

.galo-account-access .woocommerce form.galo-account-form {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    color: var(--galo-account-ink);
    font: 400 14px/1.5 "Nunito Sans", Arial, sans-serif;
}

.galo-account-access .woocommerce form.galo-account-form > p,
.galo-account-access .woocommerce form.galo-account-form .form-row {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.galo-account-access .woocommerce form.galo-account-form
label:not(.woocommerce-form__label-for-checkbox) {
    display: block;
    margin: 0 0 9px;
    padding: 0;
    color: var(--galo-account-ink);
    font: 800 12px/18px "Nunito Sans", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.galo-account-access .woocommerce form.galo-account-form .input-text {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 49px;
    margin: 0;
    padding: 13px;
    border: 1px solid var(--galo-account-border);
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    color: var(--galo-account-ink);
    font: 400 14px/21px "Nunito Sans", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: none;
    /* Hello Elementor applies transition: all .3s to native inputs. */
    transition: none;
}

.galo-account-access .woocommerce form.galo-account-form
.password-input .input-text {
    padding-right: 46px;
}

.galo-account-access .woocommerce form.galo-account-form .input-text:focus {
    border-color: var(--galo-account-border);
    outline: 2px solid var(--galo-account-focus);
    outline-offset: 2px;
    box-shadow: none;
}

.galo-account-access .woocommerce form.galo-account-form .form-row:has(> button[type="submit"]) {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    margin: 0;
}

.galo-account-access .woocommerce form.galo-account-form
.woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 7px;
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0;
    text-transform: none;
}

.galo-account-access .woocommerce form.galo-account-form
.woocommerce-form-login__rememberme input {
    margin: 0;
    accent-color: var(--galo-account-ink);
}

.galo-account-access .woocommerce form.galo-account-form button[type="submit"] {
    appearance: none;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    float: none;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 8px 16px;
    border: 0;
    border-radius: 3px;
    box-shadow: none;
    background: var(--galo-account-ink);
    color: var(--galo-account-paper);
    font: 400 16px/24px "Nunito Sans", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
    transition: opacity .15s ease;
}

@media (hover: hover) and (pointer: fine) {
.galo-account-access .woocommerce form.galo-account-form button[type="submit"]:enabled:hover {
    opacity: .9;
}
}

.galo-account-access .woocommerce form.galo-account-form button[type="submit"]:focus-visible {
    outline: 2px solid var(--galo-account-focus);
    outline-offset: 3px;
}

.galo-account-access .woocommerce .lost_password,
.galo-account-access .woocommerce .woocommerce-privacy-policy-text,
.galo-account-access .woocommerce form.galo-account-form > p:not(.form-row) {
    color: var(--galo-account-muted);
    font-size: 13px;
    line-height: 1.6;
}

.galo-account-access .woocommerce a {
    color: var(--galo-account-ink);
    text-underline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
.galo-account-access .woocommerce a:hover {
    text-decoration: underline;
}
}

/* These containers carry hidden metadata, never visible form controls. */
.galo-account-access .woocommerce form.galo-account-form wc-order-attribution-inputs,
.galo-account-access .woocommerce .woocommerce-privacy-policy-text:empty {
    display: none;
}

/* Initial presentation is already in PHP output, including the inactive panel. */
.galo-account-access[data-galo-view="tabs"] .woocommerce form.galo-account-form {
    margin-top: 32px;
}

.galo-account-access[data-galo-view="login"] .woocommerce > h2 {
    display: none;
}

/* Woo's clearfix pseudo-elements otherwise become extra flex children/gaps. */
.galo-account-access .woocommerce form.galo-account-form .form-row::before,
.galo-account-access .woocommerce form.galo-account-form .form-row::after {
    content: none;
    display: none;
}

.galo-account-access .woocommerce form.woocommerce-form-register
.form-row:has(> button[type="submit"]) {
    margin-top: 20px;
}

.galo-account-access .woocommerce form.galo-account-form .input-text::placeholder {
    color: #8b8e9d;
    opacity: 1;
}

.galo-account-access .woocommerce form.galo-account-form button[type="submit"]:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.galo-account-access .galo-account-recovery-title {
    margin: 0 0 24px;
    padding: 0;
    color: var(--galo-account-ink);
    font: 400 36px/1.15 "Cormorant Garamond", Georgia, serif;
}

.galo-account-access .galo-account-back {
    margin: 24px 0 0;
    font: 400 13px/1.6 "Nunito Sans", Arial, sans-serif;
}

.galo-account-access .galo-account-back a {
    color: var(--galo-account-ink);
    text-underline-offset: 3px;
}

.galo-account-access .woocommerce .woocommerce-notices-wrapper:empty,
.galo-account-access .woocommerce form.galo-account-form > .clear:empty {
    display: none;
}

.galo-account-access .woocommerce form.galo-account-form input[type="hidden"] {
    display: none !important;
}

.galo-account-access .woocommerce .woocommerce-error,
.galo-account-access .woocommerce .woocommerce-message,
.galo-account-access .woocommerce .woocommerce-info {
    margin: 0 0 24px;
    background: var(--galo-account-blush);
    color: var(--galo-account-ink);
    font: 400 14px/1.6 "Nunito Sans", Arial, sans-serif;
}

/* Notices follow the tabs without touching their lower border. flow-root also
 * prevents the first notice's margin from collapsing through Woo's wrapper. */
.galo-account-access[data-galo-view="tabs"] > .woocommerce { display: flow-root; }
.galo-account-access[data-galo-view="tabs"] > .woocommerce > .woocommerce-error,
.galo-account-access[data-galo-view="tabs"] > .woocommerce > .woocommerce-message,
.galo-account-access[data-galo-view="tabs"] > .woocommerce > .woocommerce-info,
.galo-account-access[data-galo-view="tabs"] > .woocommerce > .woocommerce-notices-wrapper:not(:empty) {
    margin-top: 16px;
}

/* Same lost-password link state in Mi cuenta and the order-received login. */
.galo-account-access .woocommerce form.woocommerce-form-login.galo-account-form .lost_password a,
.galo-account-access .woocommerce form.woocommerce-form-login.galo-account-form .lost_password a:visited { color: var(--galo-account-ink); }
@media (hover: hover) and (pointer: fine) {
    .galo-account-access .woocommerce form.woocommerce-form-login.galo-account-form .lost_password a:hover {
        color: var(--galo-account-ink);
        text-decoration: underline;
    }
}

/* The tab form already supplies the 32px gap. Do not add a second 24px gap.
 * Recovery and order-received notices retain their existing spacing. */
.galo-account-access[data-galo-view="tabs"] > .woocommerce > :is(.woocommerce-error, .woocommerce-message, .woocommerce-info),
.galo-account-access[data-galo-view="tabs"] > .woocommerce > .woocommerce-notices-wrapper,
.galo-account-access[data-galo-view="tabs"] > .woocommerce > .woocommerce-notices-wrapper > :is(.woocommerce-error, .woocommerce-message, .woocommerce-info):last-child {
    margin-bottom: 0;
}
