.ices-wizard {
	max-width: 760px;
	margin: 0 auto;
	font-family: inherit;
	text-align: right;
}
.ices-wizard.ices-guest {
	text-align: center;
	padding: 40px 20px;
}
.ices-steps-indicator {
	display: flex;
	justify-content: space-between;
	margin-bottom: 28px;
	border-bottom: 1px solid #e2e2e2;
	padding-bottom: 10px;
}
.ices-steps-indicator .step {
	font-size: 13px;
	color: #999;
	flex: 1;
	text-align: center;
	position: relative;
}
.ices-steps-indicator .step.active {
	color: #2271b1;
	font-weight: 700;
}
.ices-notice {
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 16px;
	font-size: 14px;
}
.ices-notice-success { background: #eafaf1; border: 1px solid #b7ebc6; color: #1e7e34; }
.ices-notice-error   { background: #fdeaea; border: 1px solid #f3b4b4; color: #a12626; }

.ices-plan-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 600px) {
	.ices-plan-grid { grid-template-columns: 1fr; }
}
.ices-plan-card {
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	padding: 20px;
}
.ices-plan-card.is-active { border-color: #2271b1; box-shadow: 0 0 0 1px #2271b1 inset; }
.ices-plan-desc { color: #666; font-size: 13px; margin: 8px 0 14px; }
.ices-plan-list { list-style: none; margin: 0; padding: 0; }
.ices-plan-list li { padding: 8px 0; border-top: 1px dashed #e2e2e2; display: flex; align-items: center; justify-content: space-between; gap: 8px; }

.ices-btn {
	display: inline-block;
	padding: 9px 18px;
	border-radius: 6px;
	border: 1px solid #ccc;
	background: #f6f7f7;
	cursor: pointer;
	font-size: 14px;
	text-decoration: none;
	color: #222;
}
.ices-btn-primary { background: #2271b1; border-color: #2271b1; color: #fff; }
.ices-btn-secondary { background: #fff; border-color: #2271b1; color: #2271b1; }
.ices-btn-small { padding: 4px 10px; font-size: 12px; }
.ices-btn:disabled { opacity: .5; cursor: not-allowed; }

.ices-dropzone {
	border: 2px dashed #bbb;
	border-radius: 10px;
	padding: 40px 20px;
	text-align: center;
	cursor: pointer;
	color: #666;
	transition: all .15s ease;
}
.ices-dropzone.is-dragover { border-color: #2271b1; background: #f0f7fc; }

.ices-upload-progress { height: 8px; background: #eee; border-radius: 4px; margin-top: 12px; overflow: hidden; }
.ices-upload-progress .bar { height: 100%; width: 0; background: #2271b1; transition: width .2s; }

.ices-field { margin-top: 18px; }
.ices-field label { display: block; margin-bottom: 6px; font-size: 13px; color: #555; }
.ices-field select { padding: 8px; border-radius: 6px; border: 1px solid #ccc; min-width: 180px; }

.ices-step-actions { margin-top: 22px; display: flex; justify-content: space-between; }

.ices-price-box { border: 1px solid #e2e2e2; border-radius: 8px; padding: 16px; }
.ices-price-table { width: 100%; border-collapse: collapse; }
.ices-price-table td { padding: 8px; border-bottom: 1px solid #f0f0f0; }
.ices-price-table .ices-price-total td { font-weight: 700; font-size: 16px; border-bottom: none; }

.ices-result-box { text-align: center; padding: 30px; }
.ices-spinner {
	width: 34px; height: 34px; margin: 0 auto 16px;
	border: 4px solid #eee; border-top-color: #2271b1; border-radius: 50%;
	animation: ices-spin 1s linear infinite;
}
@keyframes ices-spin { to { transform: rotate(360deg); } }
