.page-login { color: #333333; max-width: 100%; overflow-x: hidden; }

.page-login__hero-section { padding-top: 10px; background: #F5F7FA; }
.page-login__hero-image-wrapper { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
.page-login__hero-image { width: 100%; height: auto; aspect-ratio: 17 / 5; object-fit: cover; display: block; border-radius: 12px; }
.page-login__hero-content { text-align: center; padding: 12px 16px 24px; box-sizing: border-box; }
.page-login__main-title { color: #E53935; font-weight: 800; line-height: 1.25; letter-spacing: -0.02em; max-width: 800px; margin: 0 auto 8px; }
.page-login__hero-description { color: #333333; max-width: 700px; margin: 0 auto; font-size: 1.1em; }

.page-login__login-section { max-width: 480px; margin: 24px auto; padding: 0 16px; box-sizing: border-box; }
.page-login__login-tabs { display: flex; gap: 8px; margin-bottom: 16px; }
.page-login__tab { flex: 1; padding: 12px 16px; border: 1px solid #E0E0E0; background: #FFFFFF; border-radius: 8px; cursor: pointer; font-weight: 600; color: #333333; text-align: center; }
.page-login__tab--active { background: linear-gradient(180deg, #FF5A4F 0%, #E53935 100%); color: #ffffff; border-color: transparent; }
.page-login__login-panel { display: none; background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 12px; padding: 24px; box-sizing: border-box; }
.page-login__login-panel--active { display: block; }
.page-login__login-form { display: flex; flex-direction: column; gap: 12px; }
.page-login__field-label { font-weight: 600; margin-bottom: -6px; color: #333333; }
.page-login__text-input { width: 100%; padding: 12px 14px; border: 1px solid #E0E0E0; border-radius: 8px; font-size: 1em; box-sizing: border-box; color: #333333; }
.page-login__form-options { display: flex; justify-content: space-between; align-items: center; font-size: 0.9em; }
.page-login__forgot-link { color: #E53935; text-decoration: none; }
.page-login__submit-btn { width: 100%; padding: 14px; background: linear-gradient(180deg, #FF5A4F 0%, #E53935 100%); color: #ffffff; border: none; border-radius: 8px; font-size: 1.1em; font-weight: 700; cursor: pointer; box-sizing: border-box; }
.page-login__login-cta { text-align: center; margin-top: 16px; }
.page-login__cta-text { margin: 0 0 8px; }
.page-login__register-btn { display: inline-block; padding: 12px 24px; background: linear-gradient(180deg, #FF5A4F 0%, #E53935 100%); color: #FFFFFF; text-decoration: none; border-radius: 999px; font-weight: 700; }
.page-login__qr-image { width: 300px; height: 300px; aspect-ratio: 1 / 1; object-fit: contain; margin: 0 auto; display: block; }
.page-login__qr-text { text-align: center; margin-top: 12px; color: #333333; }

.page-login__benefits-section { max-width: 1200px; margin: 0 auto; padding: 32px 16px; box-sizing: border-box; }
.page-login__section-title { text-align: center; color: #E53935; margin-bottom: 24px; }
.page-login__benefit-list { display: flex; flex-wrap: wrap; gap: 24px; justify-content: center; list-style: none; padding: 0; margin: 0; }
.page-login__benefit-item { background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 12px; padding: 16px; flex: 1 1 280px; max-width: 360px; box-sizing: border-box; }
.page-login__benefit-image { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.page-login__benefit-title { color: #E53935; margin: 16px 0 8px; }
.page-login__benefit-desc { margin: 0; color: #333333; }

.page-login__guide-section { max-width: 800px; margin: 0 auto; padding: 24px 16px 48px; box-sizing: border-box; }
.page-login__guide-steps { display: flex; flex-direction: column; gap: 12px; }
.page-login__guide-item { background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 8px; }
.page-login__guide-summary { padding: 16px; cursor: pointer; font-weight: 600; color: #333333; }
.page-login__guide-detail { padding: 0 16px 16px; margin: 0; color: #555; }

.page-login__support-section { max-width: 1200px; margin: 0 auto; padding: 16px 16px 48px; box-sizing: border-box; }
.page-login__support-card { max-width: 600px; margin: 0 auto; background: #FFFFFF; border: 1px solid #E0E0E0; border-radius: 12px; padding: 32px 24px; text-align: center; box-sizing: border-box; }
.page-login__support-text { color: #333333; margin-bottom: 20px; }
.page-login__support-btn { display: inline-block; padding: 14px 28px; background: linear-gradient(180deg, #FF5A4F 0%, #E53935 100%); color: #FFFFFF; text-decoration: none; border-radius: 999px; font-weight: 700; box-sizing: border-box; }

@media (max-width: 768px) {
    .page-login__hero-image { aspect-ratio: 2 / 1; }
    .page-login__hero-section { padding-top: 10px; }
    .page-login__benefit-list { gap: 16px; }
    .page-login__benefit-item { flex: 1 1 100%; max-width: 100%; }
    .page-login img { max-width: 100% !important; height: auto !important; }
    .page-login__main-title { font-size: clamp(1.4rem, 4vw, 2rem); }
    .page-login__hero-description { font-size: 1rem; }
    .page-login__login-section { padding: 0 12px; }
    .page-login__login-panel { padding: 20px; }
    .page-login__support-card { padding: 24px 16px; }
}

@media (max-width: 480px) {
    .page-login__form-options { flex-direction: column; align-items: flex-start; gap: 8px; }
    .page-login__submit-btn { font-size: 1em; }
}