/* Site tokens inherit CalliWish Commerce's palette when available. */
.cwl-scene, form.cwl-login, form.woocommerce-form-login:has(.cwl-intro), .cwl-session {
  --cwl-purple: var(--cw-primary, var(--cwm-purple, #6b37e8));
  --cwl-text: var(--cw-text, #171719);
  --cwl-muted: #676778;
  --cwl-line: #e8e3f0;
  --cwl-soft: #f4f0fd;
  color: var(--cwl-text);
  font-family: 'hallymr', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  box-sizing: border-box;
}
.cwl-scene *, form.cwl-login *, form.woocommerce-form-login:has(.cwl-intro) * { box-sizing: border-box; }
form.cwl-login, body.cw-account #main form.woocommerce-form-login:has(.cwl-intro), form.woocommerce-form-login:has(.cwl-intro) {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 20px auto;
  padding: 36px;
  border: 1px solid var(--cwl-line);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 14px 48px rgb(72 39 117 / 6%);
  text-align: left;
}
.cwl-intro { margin-bottom: 28px; text-align: center; }
.cwl-eyebrow { display: block; color: var(--cwl-purple); font-size: 10px; font-weight: 700; letter-spacing: 1.8px; line-height: 1.6; }
.cwl-intro .cwl-eyebrow { margin-bottom: 18px; font-size: 14px; letter-spacing: 2px; }
.cwl-intro .cwl-brand { display: none; }
.cwl-intro .cwl-title { margin: 0 0 9px; color: var(--cwl-text); font-family: inherit; font-size: 23px; font-weight: 700; letter-spacing: -.7px; line-height: 1.45; }
.cwl-intro .cwl-description { margin: 0; color: var(--cwl-muted); font-size: 13px; line-height: 1.7; word-break: keep-all; }
.cwl-login .cwl-legacy-heading .title { display: none; }
.cwl-login .cwl-legacy-heading { margin: 0; }
.cwl-login .cwl-legacy-heading .msl_close_btn { position: absolute; top: 16px; right: 16px; }
.cwl-login.ui.form .field, .cwl-login .form-row { margin: 0 0 18px; }
.cwl-login.ui.form .field > label, .cwl-login .form-row > label:not(.woocommerce-form-login__rememberme) {
  display: block; margin: 0 0 8px; color: #3e384b; font-size: 13px; font-weight: 700; line-height: 1.5;
}
.cwl-login.ui.form input:not([type=button]):not([type=submit]):not([type=checkbox]):not([type=hidden]),
.woocommerce-form-login:has(.cwl-intro) input[type=text], .woocommerce-form-login:has(.cwl-intro) input[type=password], .woocommerce-form-login:has(.cwl-intro) input[type=email] {
  display: block; width: 100%; min-height: 52px; height: auto; margin: 0;
  padding: 14px 16px; border: 1px solid var(--cwl-line); border-radius: 14px;
  background: #faf9fd; color: var(--cwl-text); font-family: inherit; font-size: 14px; line-height: 1.5;
  box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
.cwl-login input::placeholder { color: #878091; opacity: 1; }
.cwl-login input:focus, .woocommerce-form-login:has(.cwl-intro) input:focus {
  outline: none; border-color: var(--cwl-purple) !important; box-shadow: 0 0 0 3px rgb(107 55 232 / 13%) !important; background: #fff !important;
}
.cwl-login a { color: var(--cwl-purple); text-decoration: none; }
.cwl-login a:hover { text-decoration: underline; }
.cwl-login a:focus-visible, .cwl-login button:focus-visible, .cwl-login input[type=button]:focus-visible, .cwl-login input[type=checkbox]:focus-visible { outline: 3px solid #b398f2; outline-offset: 3px; }
.cwl-login input[type=checkbox] { accent-color: var(--cwl-purple); }
.cwl-login.ui.form .ui.checkbox label, .cwl-login .woocommerce-form-login__rememberme { color: var(--cwl-muted); font-size: 13px; font-weight: 400; }
.cwl-login.ui.form .ui.checkbox input:checked ~ label:before { border-color: var(--cwl-purple); background: var(--cwl-purple); }
.cwl-login.ui.form .ui.checkbox input:checked ~ label:after { color: #fff; }
.cwl-login.ui.form .ui.button:not(.cwl-social), .cwl-login .woocommerce-form-login__submit {
  width: 100%; min-height: 52px; height: auto; margin: 0; padding: 14px 20px;
  border: 1px solid transparent; border-radius: 14px; background: var(--cwl-purple);
  color: #fff; font-family: inherit; font-size: 15px; font-weight: 700; line-height: 1.5;
  letter-spacing: 0; text-transform: none; box-shadow: 0 5px 14px rgb(107 55 232 / 15%); cursor: pointer;
}
.cwl-login.ui.form .ui.button:not(.cwl-social):hover, .cwl-login .woocommerce-form-login__submit:hover { background: #592dc5; }
.cwl-login.ui.form .ui.button.disabled, .cwl-login input[type=button]:disabled { opacity: .6; cursor: wait; }
.cwl-login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 6px; margin: 0 0 16px; }
.cwl-login .lost_password { margin: 16px 0 0; text-align: center; font-size: 13px; }
.cwl-login .cwl-social-group { clear: both; margin-top: 24px; }
.cwl-login .cwl-social-group .cwl-social-field { margin: 0 0 12px; }
.cwl-login .cwl-social-group .cwl-social-field:last-child { margin-bottom: 0; }
.cwl-login .msm-form-divider { display: flex; align-items: center; gap: 12px; margin: 23px 0; color: #91889e; font-size: 12px; }
.cwl-login .msm-form-divider::before, .cwl-login .msm-form-divider::after { content: ''; flex: 1; height: 1px; background: var(--cwl-line); }
.cwl-login .msm-form-divider span { position: static; padding: 0; background: transparent; }
.cwl-login a.small.white { display: block; min-height: 48px; padding: 12px 16px; border: 1px solid var(--cwl-line); border-radius: 14px; background: #fff; color: #5d526e; font-size: 14px; line-height: 1.5; text-align: center; }
.cwl-login .msm-form-selector { margin: 0 0 24px; padding: 4px; border-radius: 14px; background: var(--cwl-soft); }
.cwl-login .msm-form-selector .field { margin: 0 !important; padding: 8px !important; font-size: 12px; text-align: center; }
.cwl-login .msm-form-selector .msm-selector-login { border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgb(48 24 89 / 5%); }
.cwl-login.ui.form .msm-form-inline { display: block; }
.cwl-login.ui.form .msm-form-inline > .field { width: 100% !important; padding: 0; margin-bottom: 18px !important; }
.cwl-login .cwl-social { display: block; width: 100%; padding: 0; border: 1px solid var(--cwl-line); border-radius: 14px; background: #fff; box-shadow: none; overflow: visible; }
.cwl-login .cwl-social a { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 12px 18px; border-radius: inherit; color: inherit; font-size: 14px; font-weight: 700; line-height: 1.6; text-decoration: none; }
.cwl-login .cwl-social a:hover { filter: brightness(.97); }
.cwl-login .cwl-social-kakao { border-color: #fee500; background: #fee500; color: #191919; }
.cwl-login .cwl-social-naver { border-color: #03c75a; background: #03c75a; color: #fff; }
.cwl-login .cwl-social-google { border-color: #747775; background: #fff; color: #1f1f1f; }
.cwl-social-icon { width: 20px; font-family: Arial, sans-serif; font-size: 18px; font-weight: 900; text-align: center; }
.cwl-login .cwl-google-logo { display: block; flex: 0 0 20px; width: 20px; height: 20px; margin: 0; object-fit: contain; }
.cwl-login .cwl-social-kakao .cwl-social-icon { position: relative; font-size: 23px; line-height: 1; }
.cwl-login .cwl-social-kakao .cwl-social-icon::after { content: ''; position: absolute; left: 4px; bottom: 0; width: 6px; height: 6px; background: currentColor; transform: skewY(-25deg); }
.cwl-login.ui.form .ui.error.message { border-radius: 12px; box-shadow: none; background: #fff2f4; color: #a3243f; }
.cwl-login .ui.error.message:empty { display: none; }
.cwl-login .show-password-input { right: 12px; top: 13px; }
/* Stretch the two account cards through Flatsome's inner wrappers as well. */
#customer_login.cwl-account-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: stretch; width: 100%; margin: 20px auto; }
#customer_login.cwl-account-layout > .col-1,
#customer_login.cwl-account-layout > .col-2 { display: flex; flex-direction: column; float: none; width: auto; max-width: none; min-width: 0; padding: 0; }
#customer_login.cwl-account-layout .account-login-inner,
#customer_login.cwl-account-layout .account-register-inner { display: flex; flex-direction: column; flex: 1; min-width: 0; }
#customer_login.cwl-account-layout .col-1 > h2,
#customer_login.cwl-account-layout .col-2 > h2,
#customer_login.cwl-account-layout .account-login-inner > h2,
#customer_login.cwl-account-layout .account-register-inner > h2 { margin: 0 0 20px; }
body #customer_login.cwl-account-layout .col-1 form.woocommerce-form-login,
body #customer_login.cwl-account-layout .col-2 form.woocommerce-form-register { flex: 1; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 36px; border: 1px solid #e8e3f0; border-radius: 28px; background: #fff; box-sizing: border-box; }
@media (min-width: 850px) {
  #customer_login.cwl-account-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
}
@media (max-width: 849px) {
  body #customer_login.cwl-account-layout .col-1 form.woocommerce-form-login,
  body #customer_login.cwl-account-layout .col-2 form.woocommerce-form-register { padding: 28px 22px; border-radius: 22px; }
  #customer_login.cwl-account-layout > .col-2::before { display: none; }
}
.cwl-scene { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; max-width: 1040px; margin: 40px auto; border: 1px solid var(--cwl-line); border-radius: 32px; background: #fff; overflow: hidden; box-shadow: 0 20px 70px rgb(61 30 116 / 6%); }
.cwl-story { position: relative; padding: 48px 42px 36px; background: linear-gradient(150deg, #f8f5ff, #eee7fd); }
.cwl-story .cwl-eyebrow { font-size: 9px; letter-spacing: 1.6px; }
.cwl-story h2 { margin: 24px 0 18px; color: #302344; font-family: inherit; font-size: clamp(25px, 3vw, 34px); font-weight: 700; letter-spacing: -1.2px; line-height: 1.5; word-break: keep-all; }
.cwl-story h2 em { color: var(--cwl-purple); font-style: normal; }
.cwl-story > p { margin: 0; color: #766786; font-size: 14px; line-height: 1.9; }
.cwl-art { position: relative; height: 245px; margin: 15px 0 20px; }
.cwl-note { position: absolute; top: 35px; left: 26px; width: 136px; height: 144px; padding: 22px; transform: rotate(-10deg); background: #ddd0fa; color: #7351aa; font-family: Georgia, serif; font-size: 25px; font-style: italic; line-height: 1.1; box-shadow: 0 12px 30px rgb(104 65 164 / 12%); }
.cwl-note span { display: block; margin-top: 8px; font-size: 34px; text-align: right; }
.cwl-cup { position: absolute; top: 76px; left: 182px; width: 137px; height: 148px; border: 1px solid #e4dded; border-radius: 12px 12px 37px 37px; background: linear-gradient(90deg, #ede8f2, #fff 33%, #fff 72%, #eee8f3); box-shadow: 0 18px 18px -12px rgb(72 44 109 / 24%); }
.cwl-cup::before { content: ''; position: absolute; top: -7px; left: -1px; width: 137px; height: 16px; border: 5px solid #f4eff9; border-radius: 50%; background: #cec3df; }
.cwl-cup::after { content: ''; position: absolute; top: 23px; right: -37px; width: 40px; height: 76px; border: 12px solid #fdfbff; border-left-width: 8px; border-radius: 0 30px 30px 0; box-shadow: 5px 1px 8px rgb(72 44 109 / 5%); }
.cwl-cup > span { position: relative; z-index: 1; display: block; margin-top: 34px; color: #8065a7; font-family: Georgia, serif; font-size: 18px; font-style: italic; line-height: 1.8; text-align: center; }
.cwl-spark { position: absolute; color: #a688d5; font-size: 44px; }
.cwl-spark-one { top: 13px; right: 18px; }
.cwl-spark-two { bottom: 0; left: 85px; font-size: 27px; }
.cwl-story-foot { display: block; color: #8b789c; font-size: 12px; }
.cwl-form-panel { display: flex; align-items: center; min-width: 0; padding: 28px 34px; }
.cwl-form-panel > .mfs_form { width: 100%; }
.cwl-form-panel form.cwl-login { max-width: none; margin: 0; padding: 16px 0; border: 0; border-radius: 0; box-shadow: none; }
.cwl-session { padding: 24px; border: 1px solid var(--cwl-line); border-radius: 20px; background: #fff; }
@media (max-width: 760px) {
  .cwl-scene { grid-template-columns: 1fr; max-width: 500px; margin: 20px auto; border-radius: 24px; }
  .cwl-story { padding: 28px 26px; }
  .cwl-story h2 { margin: 12px 0 10px; font-size: 25px; }
  .cwl-story > p { font-size: 13px; }
  .cwl-art, .cwl-story-foot { display: none; }
  .cwl-form-panel { padding: 26px; }
  form.cwl-login, body.cw-account #main form.woocommerce-form-login:has(.cwl-intro), form.woocommerce-form-login:has(.cwl-intro) { padding: 28px 22px; border-radius: 22px; }
  .cwl-form-panel form.cwl-login { padding: 0; border-radius: 0; }
  .cwl-intro .cwl-title { font-size: 21px; }
  .cwl-intro .cwl-description { font-size: 12px; }
  .cwl-login.ui.form .two.fields { gap: 6px; }
  .cwl-login.ui.form .two.fields > .field { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .cwl-login * { transition: none !important; } }
.cwl-unsubscribe { padding: 32px; border: 1px solid #e7e0f2; border-radius: 24px; background: #fff; }
.cwl-unsubscribe h2 { margin: 0 0 20px; color: #393246; }
.cwl-unsubscribe p { line-height: 1.7; }
.cwl-unsubscribe .ui.form textarea { min-height: 220px; padding: 16px; border: 1px solid #e7e0f2; border-radius: 14px; background: #faf8fe; color: #51485e; }
.cwl-unsubscribe .ui.form button[type=submit] { border-radius: 14px; background: #6b37e8; color: #fff; }
@media (max-width: 600px) { .cwl-unsubscribe { padding: 22px 18px; } }
