.cf7mp-multistep{position:relative}.cf7mp-multistep__steps{position:relative}.cf7mp-multistep__step{display:none;animation:cf7mp-fade-in 0.4s ease}.cf7mp-multistep__step--active{display:block}.cf7mp-multistep__nav{display:flex;justify-content:space-between;margin-top:16px;gap:16px}.cf7mp-multistep__btn{padding:12px 24px;background:var(--cf7mp-primary, #2271b1);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:opacity 0.3s ease}.cf7mp-multistep__btn:hover{opacity:0.9}.cf7mp-multistep__btn--prev{background:var(--cf7mp-secondary, #50575e)}.cf7mp-multistep__btn:disabled{opacity:0.5;cursor:not-allowed}@keyframes cf7mp-fade-in{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.cf7mp-progress{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;position:relative}.cf7mp-progress::before{content:"";position:absolute;top:16px;left:16px;right:16px;height:2px;background:var(--cf7mp-border, #c3c4c7);z-index:0;transform:translateY(-1px)}.cf7mp-progress__step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:4px}.cf7mp-progress__step-circle{width:32px;height:32px;border-radius:50%;background:var(--cf7mp-bg, #fff);border:2px solid var(--cf7mp-border, #c3c4c7);display:flex;align-items:center;justify-content:center;font-weight:600;transition:all 0.3s ease}.cf7mp-progress__step-label{font-size:12px;color:var(--cf7mp-secondary, #50575e)}.cf7mp-progress__step--active .cf7mp-progress__step-circle{background:var(--cf7mp-primary, #2271b1);border-color:var(--cf7mp-primary, #2271b1);color:#fff}.cf7mp-progress__step--active .cf7mp-progress__step-label{color:var(--cf7mp-primary, #2271b1);font-weight:600}.cf7mp-progress__step--completed .cf7mp-progress__step-circle{background:var(--cf7mp-success, #00a32a);border-color:var(--cf7mp-success, #00a32a);color:#fff}.cf7mp-conditional__hidden{display:none}.cf7mp-conditional__transition{transition:opacity 0.3s ease,max-height 0.3s ease;overflow:hidden}.cf7mp-payment{padding:16px;background:var(--cf7mp-bg, #fff);border:1px solid var(--cf7mp-border, #c3c4c7);border-radius:6px}.cf7mp-payment__methods{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.cf7mp-payment__method{flex:1;min-width:120px;padding:12px;border:2px solid var(--cf7mp-border, #c3c4c7);border-radius:6px;cursor:pointer;text-align:center;transition:border-color 0.3s ease}.cf7mp-payment__method--selected{border-color:var(--cf7mp-primary, #2271b1);background:rgba(34,113,177,0.05)}.cf7mp-payment__total{font-size:24px;font-weight:700;text-align:right;margin:16px 0;padding-top:16px;border-top:1px solid var(--cf7mp-border, #c3c4c7)}
.cf7mp-confirm{padding:24px;background:var(--cf7mp-bg, #fafafa);border:1px solid var(--cf7mp-border, #c3c4c7);border-radius:var(--cf7mp-radius, 6px)}
.cf7mp-confirm__intro{margin-bottom:16px;color:var(--cf7mp-secondary, #50575e);font-size:14px}
.cf7mp-confirm__list{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:0}
@media (max-width:600px){.cf7mp-confirm__list{grid-template-columns:1fr}}
.cf7mp-confirm__label{font-weight:600;padding:8px 0;color:var(--cf7mp-secondary, #50575e);border-bottom:1px solid var(--cf7mp-border, #e5e5e5)}
.cf7mp-confirm__value{padding:8px 0;word-break:break-word;white-space:pre-wrap;border-bottom:1px solid var(--cf7mp-border, #e5e5e5)}
/* プログレスバー バリアント */
.cf7mp-progress--style-bar{display:block;height:8px;background:var(--cf7mp-border, #c3c4c7);border-radius:4px;overflow:hidden;padding:0;margin-bottom:32px}
.cf7mp-progress--style-bar::before{display:none}
.cf7mp-progress--style-bar .cf7mp-progress__step{display:none}
.cf7mp-progress--style-bar .cf7mp-progress__fill{display:block;height:100%;background:var(--cf7mp-primary, #2271b1);transition:width 0.3s ease;border-radius:4px}
.cf7mp-progress--style-step::before{top:16px;left:16px;right:16px}
.cf7mp-progress--style-dot::before{top:7px;left:7px;right:7px}
.cf7mp-progress--style-dot .cf7mp-progress__step-circle{width:14px;height:14px;font-size:0;border-width:2px}
.cf7mp-progress--style-dot .cf7mp-progress__step-label{font-size:11px}
.cf7mp-progress--style-step::before{top:16px;left:16px;right:16px}
/* 送信容量バッジ */
.cf7mp-size-badge{position:fixed;bottom:24px;right:24px;z-index:9998;background:#fff;border:1px solid var(--cf7mp-border,#c3c4c7);border-radius:24px;padding:8px 16px;font-size:12px;color:var(--cf7mp-secondary,#50575e);box-shadow:0 4px 12px rgba(0,0,0,0.08);display:inline-flex;align-items:center;gap:8px;line-height:1.4;max-width:320px}
.cf7mp-size-badge a{color:var(--cf7mp-primary,#2271b1);text-decoration:underline;white-space:nowrap}
.cf7mp-size-badge--warn{border-color:#dba617;background:#fff8e5;color:#7c5800}
.cf7mp-size-badge--warn a{color:#7c5800;font-weight:600}
.cf7mp-size-badge--over{border-color:#d63638;background:#fce8e8;color:#8a1f1f}
.cf7mp-size-badge--over a{color:#8a1f1f;font-weight:600}
.cf7mp-size-badge strong{font-weight:700}
.cf7mp-size-badge__admin{background:#1d2327;color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:0.5px}
.cf7mp-size-inline-error{background:#fce8e8;border:1px solid #d63638;border-radius:6px;padding:16px 20px;margin-bottom:20px;color:#8a1f1f;line-height:1.6}
.cf7mp-size-inline-error strong{font-size:15px;display:inline-block;margin-bottom:4px}
.cf7mp-multistep__reset{margin-top:16px;background:transparent;border:1px dashed #c3c4c7;color:#646970;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px}
.cf7mp-multistep__reset:hover{background:#f0f0f1;border-color:#1d2327}
/* 送信容量超過モーダル */
.cf7mp-size-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:9999;align-items:center;justify-content:center;padding:16px}
.cf7mp-size-modal--open{display:flex}
.cf7mp-size-modal__inner{background:#fff;border-radius:8px;padding:32px;max-width:480px;width:100%;box-shadow:0 16px 48px rgba(0,0,0,0.3)}
.cf7mp-size-modal__inner h3{margin:0 0 16px;font-size:20px;color:#d63638}
.cf7mp-size-modal__inner p{margin:0 0 16px;line-height:1.6}
.cf7mp-size-modal__note{font-size:12px;color:var(--cf7mp-secondary,#50575e);background:#f6f7f7;padding:12px;border-radius:4px}
.cf7mp-size-modal__actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}
.cf7mp-size-modal__btn{padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;border:1px solid var(--cf7mp-border,#c3c4c7);background:#fff;color:var(--cf7mp-secondary,#50575e);text-decoration:none;display:inline-flex;align-items:center}
.cf7mp-size-modal__btn--primary{background:var(--cf7mp-primary,#2271b1);color:#fff;border-color:var(--cf7mp-primary,#2271b1)}
.cf7mp-size-modal__btn--primary:hover{opacity:0.9}

/* 送信完了画面 */
.cf7mp-multistep__complete {
	display: none;
	text-align: center;
	padding: 48px 24px;
}
.cf7mp-multistep__complete-icon {
	width: 64px;
	height: 64px;
	line-height: 64px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: var(--cf7mp-success, #16a34a);
	color: #fff;
	font-size: 32px;
	font-weight: bold;
}
.cf7mp-multistep__complete-text {
	font-size: 16px;
	line-height: 1.9;
	color: var(--cf7mp-text, #333);
	white-space: pre-line;
}

.cf7mp-completed .wpcf7-response-output { display: none !important; }
