.aaa-cart-login-popup[hidden] { display: none !important; }
.aaa-cart-login-popup { position: fixed; z-index: 999999; inset: 0; display: grid; place-items: center; padding: 20px; }
.aaa-cart-login-popup__backdrop { position: absolute; inset: 0; background: rgba(44, 36, 36, .56); backdrop-filter: blur(3px); }
.aaa-cart-login-popup__dialog { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .96fr); width: min(100%, 980px); max-height: calc(100vh - 40px); overflow: auto; box-sizing: border-box; padding: 24px; border: 1px solid rgba(245, 162, 161, .55); border-radius: 28px; background: #fff; color: #2c2424; box-shadow: 0 28px 72px rgba(44, 36, 36, .34); }
.aaa-cart-login-popup__visual { min-height: 560px; border-radius: 20px; background: linear-gradient(145deg, #f4c8ca 0%, #efeae5 56%, #f5a2a1 135%); background-position: center; background-size: cover; }
.aaa-cart-login-popup__content { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 28px 34px 22px; }
.aaa-cart-login-popup__brand { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; color: #5c4f4f; font-size: 22px; font-weight: 800; letter-spacing: -.06em; }
.aaa-cart-login-popup__brand-mark { position: relative; display: inline-block; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: #f5a2a1; }
.aaa-cart-login-popup__brand-mark i { position: absolute; top: 8px; left: 10px; display: block; width: 14px; height: 18px; box-sizing: border-box; border: 1.5px solid #2c2424; border-radius: 50% 0 0 50%; background: #2c2424; }
.aaa-cart-login-popup__dialog h2 { margin: 0 38px 8px 0; color: #2c2424; font-size: clamp(25px, 3vw, 34px); line-height: 1.2; letter-spacing: -.04em; }
.aaa-cart-login-popup__dialog > .aaa-cart-login-popup__content > p { margin: 0 0 26px; color: #5c4f4f; font-size: 15px; line-height: 1.55; }
.aaa-cart-login-popup__dialog .aaa-cart-login-popup__close { position: absolute !important; inset: 17px 17px auto auto !important; left: auto !important; right: 17px !important; z-index: 2; width: 36px; height: 36px; margin: 0 !important; padding: 0; border: 1px solid #efeae5; border-radius: 50%; background: #fff; color: #3d3232; font-size: 26px; line-height: 1; cursor: pointer; transform: none !important; }
.aaa-cart-login-popup__dialog .aaa-cart-login-popup__close:hover { background: #f5a2a1; border-color: #f5a2a1; color: #2c2424; }
.aaa-cart-login-popup .aaa-social-login { display: grid; gap: 12px; }
.aaa-cart-login-popup .aaa-social-login button, .aaa-cart-login-popup .aaa-social-login input { width: 100%; min-height: 48px; box-sizing: border-box; padding: 11px 14px; border: 1px solid #efeae5; border-radius: 10px; color: #2c2424; background: #fff; }
.aaa-cart-login-popup .aaa-social-login button { display: flex; align-items: center; justify-content: center; gap: 10px; font-weight: 700; cursor: pointer; }
.aaa-cart-login-popup .aaa-social-login button .aaa-cart-login-popup__provider-icon { display: inline-grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; }
.aaa-cart-login-popup .aaa-social-login button .aaa-cart-login-popup__provider-icon svg { display: block; width: 20px; height: 20px; }
.aaa-cart-login-popup .aaa-social-login button.aaa-cart-login-popup__provider--kakao .aaa-cart-login-popup__provider-icon { border-radius: 6px; background: #FEE500; }
.aaa-cart-login-popup .aaa-social-login button:hover { border-color: #f5a2a1; background: #f4c8ca; }
.aaa-cart-login-popup .aaa-social-login form { display: grid; gap: 12px; }
.aaa-cart-login-popup-open { overflow: hidden; }
@media (max-width: 720px) { .aaa-cart-login-popup { padding: 12px; } .aaa-cart-login-popup__dialog { display: block; padding: 16px; border-radius: 22px; } .aaa-cart-login-popup__visual { min-height: 150px; margin-bottom: 18px; border-radius: 15px; } .aaa-cart-login-popup__content { padding: 12px 8px 8px; } .aaa-cart-login-popup__dialog h2 { font-size: 27px; } }
