.mofli-survey-page {
	padding: 32px 16px 64px;
}
.mofli-survey-page__inner { width: min(100%, 860px); margin: 0 auto; }
.mofli-survey-hero { text-align: center; margin: 8px 0 28px; }
.mofli-survey-hero__eyebrow, .mofli-survey-section-kicker { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.mofli-survey-hero__title { margin: 0; font-size: clamp(28px, 7vw, 42px); line-height: 1.3; }
.mofli-survey-hero__lead { margin: 12px 0 0; font-size: 15px; line-height: 1.8; }
.mofli-survey-card { margin: 0 0 22px; padding: 24px; border: 1px solid rgba(0,0,0,.08); border-radius: 20px; background: #fff; box-shadow: 0 8px 28px rgba(0,0,0,.04); }
.mofli-survey-section-title { margin: 0 0 16px; font-size: 23px; line-height: 1.45; }
.mofli-survey-description, .mofli-survey-prize__description { line-height: 1.9; }
.mofli-survey-description p, .mofli-survey-prize__description p { margin: 0 0 10px; }
.mofli-survey-period { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:18px; padding:12px 14px; border-radius:12px; background:rgba(0,0,0,.035); font-size:13px; }
.mofli-survey-period__label { font-weight:700; }
.mofli-survey-prize-list { display:grid; gap:16px; }
.mofli-survey-prize { overflow:hidden; border:1px solid rgba(0,0,0,.08); border-radius:16px; }
.mofli-survey-prize__image { background:rgba(0,0,0,.025); }
.mofli-survey-prize__image img { display:block; width:100%; height:auto; }
.mofli-survey-prize__body { padding:18px; }
.mofli-survey-prize__name { margin:0 0 8px; font-size:19px; }
.mofli-survey-prize__count { margin:12px 0 0; font-size:14px; }
.mofli-survey-prize__count strong { font-size:18px; }
.mofli-survey-line-alert { margin-top:18px; padding:16px; border-radius:14px; background:rgba(0,0,0,.04); line-height:1.75; }
.mofli-survey-line-alert p { margin:0; }
.mofli-survey-line-alert__title { margin-bottom:6px !important; font-weight:700; }
.mofli-survey-line-alert__small { margin-top:6px !important; font-size:12px; }
.mofli-survey-question { min-width:0; margin:0; padding:22px 0; border:0; border-bottom:1px solid rgba(0,0,0,.08); }
.mofli-survey-question:first-of-type { padding-top:8px; }
.mofli-survey-question__legend { display:flex; align-items:center; gap:8px; flex-wrap:wrap; width:100%; margin:0 0 14px; padding:0; font-weight:700; line-height:1.7; }
.mofli-survey-question__number { font-size:13px; }
.mofli-survey-required, .mofli-survey-optional { display:inline-flex; align-items:center; min-height:22px; padding:2px 8px; border-radius:999px; font-size:11px; line-height:1; }
.mofli-survey-required { background:rgba(0,0,0,.9); color:#fff; }
.mofli-survey-optional { background:rgba(0,0,0,.07); }
.mofli-survey-question input[type="text"], .mofli-survey-question input[type="number"], .mofli-survey-question textarea, .mofli-survey-question select { box-sizing:border-box; width:100%; min-height:48px; padding:11px 13px; border:1px solid rgba(0,0,0,.18); border-radius:10px; background:#fff; font:inherit; }
.mofli-survey-question textarea { min-height:130px; resize:vertical; }
.mofli-survey-choice { display:flex; gap:10px; align-items:flex-start; margin:0 0 10px; padding:12px 14px; border:1px solid rgba(0,0,0,.1); border-radius:10px; cursor:pointer; }
.mofli-survey-choice input { margin-top:4px; }
.mofli-survey-submit-area { padding-top:24px; text-align:center; }
.mofli-survey-preview-note { margin:0 0 12px; font-size:12px; line-height:1.7; }
.mofli-survey-submit { width:min(100%,420px); min-height:54px; padding:12px 24px; border:0; border-radius:999px; background:#222; color:#fff; font:inherit; font-weight:700; opacity:1; cursor:pointer !important; transition:opacity .2s ease, transform .2s ease; }
.mofli-survey-submit:hover { opacity:.85; cursor:pointer !important; }
.mofli-survey-submit:active { transform:translateY(1px); }
.mofli-survey-submit[disabled], .mofli-survey-submit:disabled { opacity:.5; cursor:not-allowed !important; }
.mofli-survey-message { padding:22px; border-radius:14px; background:rgba(0,0,0,.04); text-align:center; }
.mofli-survey-message p { margin:0; }
.mofli-survey-field-warning { margin:0; font-size:13px; }
@media (min-width:700px) {
	.mofli-survey-page { padding-top:48px; }
	.mofli-survey-card { padding:32px; }
	.mofli-survey-prize-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* STEP8 SURVEY FIX5: emphasize member registration required for present entry */
.mofli-survey-present-member-notice {
	margin-top:18px;
	padding:20px 18px;
	border:2px solid #e96f72;
	border-radius:16px;
	background:#fff4f2;
	text-align:left;
}
.mofli-survey-present-member-notice__title {
	margin:0 0 10px !important;
	font-size:17px;
	line-height:1.55;
	color:#b94349;
	text-align:center;
}
.mofli-survey-present-member-notice p:not(.mofli-survey-present-member-notice__title) {
	line-height:1.75;
}
.mofli-survey-present-member-notice__action {
	margin-top:14px !important;
	text-align:center;
}
.mofli-survey-present-member-notice__action a {
	display:inline-block;
	padding:11px 20px;
	border-radius:999px;
	background:#e96f72;
	color:#fff;
	font-weight:700;
	text-decoration:none;
}
.mofli-survey-present-member-notice__action a:hover,
.mofli-survey-present-member-notice__action a:focus-visible {
	text-decoration:underline;
}

/* STEP8 SURVEY FIX6: mobile-first present apply radio layout */
.mofli-survey-present-apply-choice {
	display:grid;
	grid-template-columns:1fr;
	gap:10px;
	margin-top:16px;
}

.mofli-survey-present-apply-choice .mofli-survey-present-choice {
	display:flex;
	align-items:flex-start;
	width:100%;
	margin:0;
	padding:12px 14px;
	box-sizing:border-box;
	border-radius:12px;
}

.mofli-survey-present-apply-choice .mofli-survey-present-choice input[type="radio"] {
	flex:0 0 auto;
	margin:4px 10px 0 0;
}

.mofli-survey-present-apply-choice .mofli-survey-present-choice span {
	display:block;
	min-width:0;
	line-height:1.55;
}

@media (min-width:700px) {
	.mofli-survey-present-apply-choice {
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}



/* STEP8 SURVEY FIX7: prominent submit-time member-required error */
.mofli-survey-message--member-required {
	margin:0 0 24px;
	padding:18px 20px;
	border:2px solid #d93025;
	border-radius:14px;
	background:#fff5f5;
	color:#c62828;
	font-size:16px;
	font-weight:700;
	line-height:1.7;
	text-align:center;
}

.mofli-survey-message--member-required p {
	color:inherit;
	font-weight:inherit;
}
