/* ==========================================================
   Easy Login
   Current popup layout and guest-mode redesign
   ========================================================== */
/* ==========================================================
   Shell
   ========================================================== */
.jpEasyLogin { font-family: var(--jp-font-ui, "Plus Jakarta Sans", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif); color: #111111; }
.jpEasyLogin .popup_con { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: 1rem; background: rgba(19, 21, 20, 0.66); overflow: auto; }
.jpEasyLogin .popup_con[hidden] { display: none; }
.jpEasyLogin .jp-auth-embedded-shell { position: static; inset: auto; padding: 0; background: transparent; overflow: visible; }
.jpEasyLogin .jp-auth-dialog { position: relative; --jp-auth-dialog-pad: 1.1rem; width: min(100%, 31rem); padding: 0.95rem var(--jp-auth-dialog-pad) 0.95rem; max-height: calc(100vh - 2rem); overflow-y: auto; border: 1px solid rgba(16, 24, 16, 0.08); border-radius: 2rem; background: #ffffff; box-shadow: 0 28px 68px rgba(10, 16, 12, 0.24); box-sizing: border-box; }
/* ==========================================================
   Header
   ========================================================== */
.jpEasyLogin .close { position: absolute; top: 0.95rem; right: 1rem; display: inline-flex; align-items: center; justify-content: center; width: auto; height: auto; padding: 0; border: 0; background: transparent; color: #7b7f7c; font-size: 2.55rem; line-height: 1; cursor: pointer; transition: color 0.2s ease, transform 0.2s ease; }
.jpEasyLogin .close:hover { color: #4d524f; transform: translateY(-1px); }
.jpEasyLogin .jp-auth-header { margin: 1.35rem 0 0.35rem; text-align: center; }
.jpEasyLogin .jp-auth-kicker, .jpEasyLogin .jp-auth-tabs, .jpEasyLogin .jp-auth-google-note, .jpEasyLogin .jp-auth-field label { display: none !important; }
.jpEasyLogin .jp-auth-header h6 { margin: 0; color: #111111; font-family: var(--jp-font-ui, "Plus Jakarta Sans", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif); font-size: clamp(2.05rem, 5.5vw, 2.75rem); font-weight: 900; letter-spacing: -0.06em; line-height: 1.02; }
.jpEasyLogin .jp-auth-intro { max-width: 22rem; margin: 0.5rem auto 0; color: #6e726f; font-size: 0.89rem; line-height: 1.55; }
/* ==========================================================
   Status + Social
   ========================================================== */
.jpEasyLogin .jp-auth-status { width: fit-content; max-width: 100%; margin: 0.5em auto; padding: 0.45rem 0.9rem; border: 1px solid #d9ddd9; border-radius: 999px; background: #f8faf8; color: #334039; font-size: 0.88rem; line-height: 1.35; text-align: center; box-sizing: border-box; }
.jpEasyLogin .jp-auth-status.is-error { border-color: #efc0c0; background: #fff6f6; color: #8f1f2b; }
.jpEasyLogin .jp-auth-status.is-success { border-color: #b9dfbc; background: #f3fbf4; color: #165824; }
.jpEasyLogin .jp-auth-status.is-info { border-color: #d9ddd9; background: #f8faf8; color: #4d5a53; }
.jpEasyLogin .jp-auth-google-button { display: block; width: 100%; padding: 0; border: 0; text-decoration: none; }
.jpEasyLogin .jp-auth-google-button:hover { text-decoration: none; opacity: 0.96; }
.jpEasyLogin .jp-auth-google-button__asset { display: block; width: min(100%, 250px); max-width: 250px; margin: 2em auto 0.85rem; height: auto; }
/* ==========================================================
   Forms
   ========================================================== */
.jpEasyLogin .jp-auth-divider { position: relative; margin: 0.55rem 0 0.58rem; text-align: center; }
.jpEasyLogin .jp-auth-divider::before { content: ""; position: absolute; top: 50%; left: 0; right: 0; border-top: 1px solid #dde2dd; }
.jpEasyLogin .jp-auth-divider span { position: relative; z-index: 1; display: inline-block; padding: 0 0.7rem; background: #ffffff; color: #7b7f7c; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.jpEasyLogin .jp-auth-form { display: grid; gap: 0.42rem; }
.jpEasyLogin .jp-auth-form[hidden] { display: none; }
.jpEasyLogin .jp-auth-field { display: grid; gap: 0.24rem; }
.jpEasyLogin .jp-auth-field label { margin: 0; color: #111111; font-size: 0.95rem; font-weight: 800; line-height: 1.25; }
.jpEasyLogin .jp-auth-input-wrap { position: relative; display: flex; align-items: center; min-height: 2.7rem; padding: 0 0.85rem; border: 1px solid #d8d8d8; border-radius: 0.95rem; background: #ffffff; box-sizing: border-box; transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; }
.jpEasyLogin .jp-auth-input-wrap:focus-within { border-color: #2f7e39; box-shadow: 0 0 0 4px rgba(47, 126, 57, 0.12); }
.jpEasyLogin .jp-auth-field-icon { display: inline-flex; align-items: center; justify-content: center; width: 1.15rem; height: 1.15rem; flex: 0 0 auto; margin-right: 0.82rem; color: #8a8f8b; }
.jpEasyLogin .jp-auth-field-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.jpEasyLogin .jp-auth-input-wrap input { flex: 1 1 auto; min-width: 0; padding: 0.68rem 0; border: 0; background: transparent; color: #111111; font: inherit; font-size: 1rem; line-height: 1.35; box-sizing: border-box; }
.jpEasyLogin .jp-auth-input-wrap input::placeholder { color: #8a8f8b; opacity: 1; }
.jpEasyLogin .jp-auth-input-wrap input:focus { outline: none; box-shadow: none; }
.jpEasyLogin .jp-auth-password-wrap input { padding-right: 2.55rem; }
.jpEasyLogin .jp-auth-toggle-password { position: absolute; top: 50%; right: 0.25rem; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: 0.5rem; background: transparent; color: #2f7e39; font: inherit; cursor: pointer; }
.jpEasyLogin .jp-auth-toggle-password:hover { background: rgba(47, 126, 57, 0.08); }
.jpEasyLogin .jp-auth-toggle-password__icon { display: inline-block; width: 0.95rem; height: 0.95rem; background: url("../../img/icons/shared/eye.svg") no-repeat center center / contain; }
.jpEasyLogin .jp-auth-toggle-password[aria-pressed="true"] .jp-auth-toggle-password__icon { background-image: url("../../img/icons/shared/eye-off.svg"); }
.jpEasyLogin .jp-auth-field-note { display: none; width: fit-content; max-width: 100%; justify-self: center; margin: 0.5em auto; padding: 0.35rem 0.8rem; border: 1px solid transparent; border-radius: 999px; color: #6e726f; font-size: 0.8rem; line-height: 1.35; text-align: center; box-sizing: border-box; }
.jpEasyLogin .jp-auth-field-note:not(:empty) { display: block; }
.jpEasyLogin .jp-auth-field.is-error .jp-auth-input-wrap { border-color: #e7b4b4; background: #fff8f8; }
.jpEasyLogin .jp-auth-field.is-error .jp-auth-field-note { border-color: #efc0c0; background: #fff6f6; color: #c05b5b; }
.jpEasyLogin .jp-auth-field.is-success .jp-auth-input-wrap { border-color: #b9dfbc; background: #f6fbf6; }
.jpEasyLogin .jp-auth-field.is-success .jp-auth-field-note { border-color: #b9dfbc; background: #f3fbf4; color: #2f7e39; }
.jpEasyLogin .jp-auth-submit, .jpEasyLogin .jp-auth-secondary, .jpEasyLogin .jp-auth-guest-button { min-height: 2.85rem; border-radius: 1rem; font: inherit; font-weight: 800; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; }
.jpEasyLogin .jp-auth-submit { width: 100%; margin-top: 0.1rem; border: 0; background: #2f7e39; color: #ffffff; box-shadow: 0 16px 28px rgba(47, 126, 57, 0.18); font-size: 0.95rem; min-height: 2.85rem; }
.jpEasyLogin .jp-auth-submit:hover { background: #276632; box-shadow: 0 18px 30px rgba(47, 126, 57, 0.22); transform: translateY(-1px); }
.jpEasyLogin .jp-auth-submit.is-loading, .jpEasyLogin .jp-auth-secondary.is-loading, .jpEasyLogin .jp-auth-guest-button.is-loading { opacity: 0.78; cursor: progress; }
/* ==========================================================
   Links + Support
   ========================================================== */
.jpEasyLogin .jp-auth-footer-links { display: flex; align-items: center; justify-content: flex-end; gap: 0.65rem; margin-top: 1em; }
.jpEasyLogin .jp-auth-footer-links__divider { width: 1px; height: 1.25rem; background: #d8ddd8; }
.jpEasyLogin .jp-auth-link, .jpEasyLogin .jp-auth-link-button { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0; border: 0; background: transparent; color: #2f7e39; font: inherit; font-size: 0.84rem; font-weight: 800; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.jpEasyLogin .jp-auth-link { justify-self: start; }
.jpEasyLogin .jp-auth-link-button { justify-self: end; cursor: pointer; }
.jpEasyLogin .jp-auth-link:hover, .jpEasyLogin .jp-auth-link-button:hover { color: #1e5b29; text-decoration: none; }
.jpEasyLogin .jp-auth-link-icon { display: inline-flex; align-items: center; justify-content: center; width: 1rem; height: 1rem; flex: 0 0 auto; }
.jpEasyLogin .jp-auth-link-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.jpEasyLogin .jp-auth-support-card { margin-top: 1rem; padding: 1rem; border: 1px solid #dce3dc; border-radius: 1rem; background: #f7faf6; text-align: center; }
.jpEasyLogin .jp-auth-support-card p { margin: 0 0 0.8rem; color: #334039; font-size: 0.9rem; line-height: 1.55; }
.jpEasyLogin .jp-auth-secondary { display: inline-flex; align-items: center; justify-content: center; width: 100%; border: 1px solid #2f7e39; background: #ffffff; color: #2f7e39; font-size: 0.95rem; }
.jpEasyLogin .jp-auth-secondary:hover { background: #f4fbf5; border-color: #276632; color: #1e5b29; transform: translateY(-1px); }
.jpEasyLogin .jp-auth-support-note { display: block; margin-top: 0.65rem; color: #6e726f; font-size: 0.78rem; line-height: 1.45; }
.jpEasyLogin .jp-auth-claim-card { margin-top: 0; }
.jpEasyLogin .jp-auth-section-divider { margin: 0.85rem 0 0.7rem; border-top: 1px solid #dce2db; }

/* ==========================================================
   Guest Mode
   ========================================================== */
.jpEasyLogin .guestmode { margin-top: 0; }
.jpEasyLogin .jp-auth-guest-card { margin: 0 calc(-1 * var(--jp-auth-dialog-pad)) calc(-1 * var(--jp-auth-dialog-pad)); padding: 0.85rem var(--jp-auth-dialog-pad) var(--jp-auth-dialog-pad); border: 1px solid #d0d0d0; border-radius: 0; background: #666; text-align: center; box-shadow: none; }
.jpEasyLogin .jp-auth-guest-kicker { display: none; }
.jpEasyLogin .jp-auth-guest-button { display: inline-flex; align-items: center; justify-content: center; width: min(100%, 10.25rem); margin: 0 auto; padding: 0.48rem 0.95rem; border: 1px solid #8f9a8a; background: #333; color: #eee; font-size: 0.82rem; border-radius: 10px; }
.jpEasyLogin .jp-auth-guest-button:hover { background: #9aa495; border-color: #9aa495; color: #182019; transform: translateY(-1px); }
/* ==========================================================
   Responsive
   ========================================================== */
@media screen and (max-width: 640px) {
.jpEasyLogin .popup_con { padding: 0.75rem; }
.jpEasyLogin .jp-auth-dialog { width: 100%; --jp-auth-dialog-pad: 0.9rem; padding: var(--jp-auth-dialog-pad); max-height: calc(100vh - 1rem); border-radius: 1.65rem; }
.jpEasyLogin .close { top: 0.8rem; right: 0.75rem; font-size: 2.3rem; }
.jpEasyLogin .jp-auth-header { margin-top: 1.45rem; }
.jpEasyLogin .jp-auth-header h6 { font-size: clamp(1.95rem, 10vw, 2.5rem); }
.jpEasyLogin .jp-auth-intro { font-size: 0.88rem; }
.jpEasyLogin .jp-auth-google-button__label { font-size: 0.9rem; }
.jpEasyLogin .jp-auth-footer-links { gap: 0.7rem; }
.jpEasyLogin .jp-auth-link, .jpEasyLogin .jp-auth-link-button { font-size: 0.86rem; }
.jpEasyLogin .jp-auth-guest-card { padding: 0.8rem 0.85rem; }
}
