/* Login de desarrollo. Estilos acotados a esta pantalla, con el formulario nativo de Magento. */
body:is(.customer-account-login,.customer-account-create).mm-access-page,
body:is(.customer-account-login,.customer-account-create).mm-access-page .page-wrapper { background: #f7f6f3 !important; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .page-main {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 46px 28px 64px !important;
    background: transparent !important;
}
body:is(.customer-account-login,.customer-account-create).mm-access-page .columns,
body:is(.customer-account-login,.customer-account-create).mm-access-page .column.main,
body:is(.customer-account-login,.customer-account-create).mm-access-page .login-container {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.mm-access-page .mm-access,
.mm-access-page .mm-access * { box-sizing: border-box; }
.mm-access-page .mm-access {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    overflow: hidden;
    border: 1px solid #e7e3dd;
    border-radius: 24px;
    background: #fff;
    color: #272235;
    box-shadow: 0 18px 60px #32234c0b;
    text-align: left;
}
.mm-access-page .mm-access-story {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    padding: 42px 42px 32px;
    color: #fff;
    background: #30204f;
    background-image: radial-gradient(ellipse at 100% 0, #614077 0, transparent 65%);
}
.mm-access-page .mm-access-wordmark { font-size: 29px; font-weight: 800; letter-spacing: -1.7px; line-height: 1; }
.mm-access-page .mm-access-wordmark > span:first-child,
.mm-access-page .mm-access-brand-dot { color: #ffb65d; }
.mm-access-page .mm-access-story-copy { margin-top: 53px; }
.mm-access-page .mm-access-eyebrow { margin: 0 0 14px; font-size: 10px; font-weight: 700; letter-spacing: 1.9px; line-height: 1.5; }
.mm-access-page .mm-access-story .mm-access-eyebrow { color: #d2bedf; }
.mm-access-page .mm-access-story h2 { margin: 0 0 20px; color: #fff; font-size: clamp(30px, 3.1vw, 43px); font-weight: 650; letter-spacing: -1.5px; line-height: 1.17; }
.mm-access-page .mm-access-story h2 span { color: #ffbd74; }
.mm-access-page .mm-access-story-copy > p:last-child { margin: 0; color: #e1d6e9; font-size: 14px; line-height: 1.8; }
.mm-access-page .mm-access-art { width: calc(100% + 28px); margin: 16px -14px 8px; }
.mm-access-page .mm-access-art svg { display: block; width: 100%; height: auto; }
.mm-access-page .mm-access-benefits { display: grid; gap: 10px; margin: auto 0 0; padding: 0; list-style: none; }
.mm-access-page .mm-access-benefits li { display: flex; align-items: center; gap: 10px; margin: 0; color: #f0e8f6; font-size: 12px; line-height: 1.6; }
.mm-access-page .mm-access-benefits svg { width: 18px; height: 18px; padding: 2px; fill: none; stroke: #ffc98c; stroke-width: 1.8; background: #ffffff12; border-radius: 50%; }
.mm-access-page .mm-access-panel { min-width: 0; padding: 32px 58px 28px; background: #fff; }
.mm-access-page .mm-access-back { display: inline-flex; align-items: center; gap: 9px; min-height: 36px; margin-bottom: 30px; color: #746b7c !important; font-size: 12px; font-weight: 500; text-decoration: none !important; }
.mm-access-page .mm-access-back svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.mm-access-page .mm-access-back:hover { color: #422769 !important; }
.mm-access-page .mm-access-heading { margin: 0 0 30px; }
.mm-access-page .mm-access-heading .mm-access-eyebrow { margin-bottom: 10px; color: #786282; }
.mm-access-page .mm-access-heading h1 { margin: 0 0 10px; color: #2e223c; font-size: 34px; font-weight: 700; line-height: 1.18; letter-spacing: -1.2px; }
.mm-access-page .mm-access-heading > p:last-child { margin: 0; color: #74697c; font-size: 14px; line-height: 1.6; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-form,
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-form .fieldset { width: 100% !important; margin: 0 !important; padding: 0 !important; border: 0; }
.mm-access-page .mm-access-form .fieldset::after { content: none; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-form .mm-access-field { margin: 0 0 23px !important; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-form .label { display: block; width: auto; margin: 0 0 9px; padding: 0; color: #43394d !important; font-size: 13px; font-weight: 600; line-height: 1.5; text-align: left; }
.mm-access-page .mm-access-form .label::after { display: none; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-form .mm-access-input {
    display: block;
    width: 100% !important;
    max-width: none;
    height: 53px !important;
    padding: 0 16px !important;
    color: #302637;
    background: #fdfcfb !important;
    border: 1px solid #ddd6df !important;
    border-radius: 9px !important;
    font-family: inherit;
    font-size: 16px !important;
    line-height: normal;
    box-shadow: none !important;
    transition: border-color .15s, box-shadow .15s;
}
.mm-access-page .mm-access-input::placeholder { color: #786c80; opacity: 1; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-form .mm-access-input:focus { border-color: #71528e !important; outline: 0; box-shadow: 0 0 0 3px #70518d1a !important; }
.mm-access-page .mm-access-password-label { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-password-label .action.remind { display: inline-flex; align-items: center; min-height: 28px; margin: -4px 0 4px; color: #694380 !important; font-size: 12px; font-weight: 600; text-decoration: none !important; white-space: nowrap; }
.mm-access-page .mm-access-password-label .action.remind:hover { text-decoration: underline !important; }
.mm-access-page .mm-access-password-control { position: relative; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-password-control .mm-access-input { padding-right: 84px !important; }
.mm-access-page .mm-access-password-toggle { position: absolute; top: 8px; right: 7px; min-width: 64px; min-height: 37px; margin: 0; padding: 8px; color: #795584; background: transparent; border: 0; border-radius: 6px; box-shadow: none; font-size: 12px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.mm-access-page .mm-access-password-toggle[hidden] { display: none; }
.mm-access-page .mm-access-password-toggle:hover { color: #352046; background: #f2edf6; }
.mm-access-page .mm-access-additional:empty { display: none; }
body:is(.customer-account-login,.customer-account-create).mm-access-page button.action.primary.mm-access-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100% !important;
    max-width: none !important;
    min-height: 53px;
    margin: 4px 0 0 !important;
    padding: 14px 18px !important;
    color: #fff !important;
    background: #49305f !important;
    border: 1px solid #49305f !important;
    border-radius: 9px !important;
    font-family: inherit;
    font-size: 14px !important;
    font-weight: 650;
    line-height: 1.5;
    cursor: pointer;
    box-shadow: 0 4px 8px #49305f12 !important;
    transition: background .15s;
}
.mm-access-page .mm-access-submit svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
body:is(.customer-account-login,.customer-account-create).mm-access-page button.action.primary.mm-access-submit:hover { background: #352044 !important; border-color: #352044 !important; }
.mm-access-page .mm-access-submit:disabled { opacity: .55; cursor: wait; }
.mm-access-page .mm-access-register { margin-top: 29px; padding-top: 24px; border-top: 1px solid #eee9ef; text-align: center; }
.mm-access-page .mm-access-register p { margin: 0 0 13px; color: #74697c; font-size: 12px; line-height: 1.5; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-register a.mm-access-create { display: flex; align-items: center; justify-content: center; min-height: 48px; width: 100%; margin: 0; padding: 11px 18px; color: #533c67 !important; background: #fff; border: 1px solid #dfd6e5; border-radius: 9px; font-size: 13px; font-weight: 600; line-height: 1.5; text-decoration: none !important; }
.mm-access-page .mm-access-register .mm-access-create:hover { background: #f8f5fa; border-color: #a98fb9; }
.mm-access-page .mm-access-footnote { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 22px 0 0; color: #766b7f; font-size: 11px; line-height: 1.5; }
.mm-access-page .mm-access-footnote svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.2; }
.mm-access-page .mm-access-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.mm-access-page .mm-access a:focus-visible,
.mm-access-page .mm-access button:focus-visible { outline: 3px solid #e1ac65; outline-offset: 3px; }
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-form input.mage-error { border-color: #bd4545 !important; }
.mm-access-page .mm-access-form div.mage-error { margin-top: 7px; color: #ad3535; font-size: 12px; line-height: 1.5; }
@media (max-width: 1050px) {
    .mm-access-page .mm-access-panel { padding-right: 36px; padding-left: 36px; }
    .mm-access-page .mm-access-story { padding-right: 30px; padding-left: 30px; }
}
@media (max-width: 760px) {
    body:is(.customer-account-login,.customer-account-create).mm-access-page .page-main { padding: 24px 18px 36px !important; }
    .mm-access-page .mm-access { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; border-radius: 18px; }
    .mm-access-page .mm-access-story { display: block; padding: 24px 28px; }
    .mm-access-page .mm-access-wordmark { font-size: 24px; }
    .mm-access-page .mm-access-story-copy { margin-top: 22px; }
    .mm-access-page .mm-access-story .mm-access-eyebrow,
    .mm-access-page .mm-access-art,
    .mm-access-page .mm-access-benefits { display: none; }
    .mm-access-page .mm-access-story h2 { margin: 0 0 8px; font-size: 27px; letter-spacing: -.7px; }
    .mm-access-page .mm-access-story h2 br { display: none; }
    .mm-access-page .mm-access-story-copy > p:last-child { font-size: 12px; line-height: 1.7; }
    .mm-access-page .mm-access-desktop-break { display: none; }
    .mm-access-page .mm-access-panel { padding: 23px 28px 25px; }
    .mm-access-page .mm-access-back { margin-bottom: 21px; }
    .mm-access-page .mm-access-heading { margin-bottom: 25px; }
    .mm-access-page .mm-access-heading h1 { font-size: 30px; }
}
@media (max-width: 380px) {
    body:is(.customer-account-login,.customer-account-create).mm-access-page .page-main { padding: 18px 12px 28px !important; }
    .mm-access-page .mm-access-panel, .mm-access-page .mm-access-story { padding-right: 22px; padding-left: 22px; }
    .mm-access-page .mm-access-story h2 { font-size: 24px; }
    .mm-access-page .mm-access-heading h1 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    .mm-access-page .mm-access * { transition: none !important; }
}

/* Neutraliza los estilos globales antiguos de botones/enlaces en esta pantalla. */
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-password-label .action.remind {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-password-toggle {
    background: transparent !important;
    color: #795584 !important;
    border: 0 !important;
    box-shadow: none !important;
}
body:is(.customer-account-login,.customer-account-create).mm-access-page .mm-access-password-toggle:hover {
    background: #f2edf6 !important;
    color: #352046 !important;
}
@media (max-width: 760px) {
    .mm-access-page .mm-access-story-copy { margin-top: 12px; }
    .mm-access-page .mm-access-story h2 { display: none; }
}

/* Registro: mismo diseño, nombres y validación del formulario conservados. */
body.customer-account-create.mm-access-page .mm-register-form .fieldset { display: block !important; }
body.customer-account-create.mm-access-page .mm-register-form .control { width:100% !important; margin:0 !important; float:none !important; }
body.customer-account-create.mm-access-page .mm-register-form .field.choice { display:flex !important; flex-wrap:wrap; align-items:flex-start !important; gap:10px; margin:0 0 23px !important; }
body.customer-account-create.mm-access-page .mm-register-form .field.choice input { position:static !important; width:18px !important; height:18px !important; flex:0 0 18px; margin:2px 0 0 !important; accent-color:#49305f; }
body.customer-account-create.mm-access-page .mm-register-form .field.choice .label { flex:1; min-width:0; margin:0 !important; font-size:13px; font-weight:400; }
body.customer-account-create.mm-access-page .mm-register-form .field.choice .label a { color:#65427b !important; text-decoration:underline; }
body.customer-account-create.mm-access-page .mm-register-form .field.choice div.mage-error { flex-basis:100%; }
body.customer-account-create.mm-access-page .mm-register-form .actions-toolbar,
body.customer-account-create.mm-access-page .mm-register-form .actions-toolbar .primary { float:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
body.customer-account-create.mm-access-page .mm-access-story { justify-content:flex-start; }
body.customer-account-create.mm-access-page .mm-access-benefits { margin-top:24px; }
body.customer-account-create.mm-access-page .mm-register-form .field .label,
body.customer-account-create.mm-access-page .mm-register-form .field .label span { color:#43394d !important; font-size:13px !important; font-weight:600 !important; }
body.customer-account-create.mm-access-page .mm-register-form .field.choice .label,
body.customer-account-create.mm-access-page .mm-register-form .field.choice .label span { font-weight:400 !important; line-height:1.7 !important; }

/* El ancho mínimo nativo de 600px no cabe en el panel de registro de escritorio. */
body.customer-account-create.mm-access-page .mm-access-panel .mm-register-form,
body.customer-account-create.mm-access-page .mm-access-panel .mm-register-form .fieldset {
    min-width:0 !important;
    min-inline-size:0 !important;
    max-width:100% !important;
    width:100% !important;
}
body.customer-account-create.mm-access-page .mm-register-form .field {
    min-width:0;
    max-width:100%;
}
