.line-login-wrapper { margin:20px 0; text-align:center; }
.line-login-button {
  background:#06C755; color:#fff; padding:12px 24px; border-radius:6px;
  font-weight:bold; text-decoration:none; display:inline-block; transition:.3s;
}
.line-login-button:hover { background:#04a746; color:#000; }
.line-small { font-size:14px; padding:8px 16px; }
.line-login-text { text-decoration:underline; font-weight:bold; cursor:pointer; }
.line-login-text.text-white { color:#fff; }
.line-login-text.text-white:hover { color:#000; }
.line-login-text.text-green { color:#06C755; }
.line-login-text.text-green:hover { color:#000; }

/* Popup */
.line-popup-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:9999;
  display:flex; justify-content:center; align-items:center;
}
.line-popup-box {
  background:#fff; padding:30px; border-radius:12px; max-width:440px; width:100%;
  box-shadow:0 10px 30px rgba(0,0,0,.2);
}
.line-popup-box h2{ margin-bottom:16px; font-size:22px; }
.line-popup-box label{ display:block; margin:10px 0 6px; }
.line-popup-box input{
  width:100%; padding:10px; margin-bottom:8px; border:1px solid #ddd; border-radius:8px;
}
.line-popup-box button{
  background:#06C755; color:#fff; padding:12px 20px; border:none; cursor:pointer; font-weight:bold; border-radius:8px;
}
.line-popup-box button:hover{ background:#04a746; color:#000; }
.notice{ margin-top:10px; font-size:14px; }
.notice.success{ color:#0a7f2e; }
.notice.error{ color:#b00020; }

/* A11y */
.line-login-button:focus,
.line-login-text:focus,
.line-popup-box button:focus { outline:3px solid #1a73e8; outline-offset:2px; }
@media (prefers-reduced-motion: reduce){ .line-login-button{ transition:none; } }
