.aig-wrapper {
	max-width: 640px;
	margin: 0 auto;
	font-family: inherit;
}

.aig-title {
	margin-bottom: 1em;
}

.aig-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	background: #fafafa;
}

.aig-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}

.aig-field-row {
	display: flex;
	gap: 16px;
}

.aig-field-row .aig-field {
	flex: 1;
	min-width: 0;
}

.aig-field label {
	font-weight: 600;
	font-size: 14px;
}

.aig-required {
	color: #c0392b;
}

.aig-field input[type="text"],
.aig-field input[type="number"],
.aig-field select,
.aig-field textarea {
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 14px;
	width: 100%;
	box-sizing: border-box;
}

.aig-field textarea {
	resize: vertical;
}

.aig-submit-btn {
	margin-top: 8px;
	padding: 12px 20px;
	background: #1a5276;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
}

.aig-submit-btn:hover {
	background: #154360;
}

.aig-submit-btn:disabled {
	background: #95a5a6;
	cursor: not-allowed;
}

.aig-result {
	margin-top: 24px;
}

.aig-loading {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px;
	color: #555;
	font-style: italic;
}

.aig-spinner {
	width: 18px;
	height: 18px;
	border: 3px solid #ddd;
	border-top-color: #1a5276;
	border-radius: 50%;
	animation: aig-spin 0.8s linear infinite;
}

@keyframes aig-spin {
	to {
		transform: rotate(360deg);
	}
}

.aig-error {
	padding: 14px 16px;
	border-radius: 6px;
	background: #fdecea;
	border: 1px solid #f5c6cb;
	color: #942e25;
}

.aig-itinerary {
	padding: 24px;
	border: 1px solid #e0e0e0;
	border-radius: 10px;
	background: #fff;
	line-height: 1.65;
}

.aig-itinerary h2 {
	font-size: 1.3em;
	margin-top: 1.4em;
	margin-bottom: 0.5em;
	border-bottom: 2px solid #eee;
	padding-bottom: 6px;
}

.aig-itinerary h2:first-child {
	margin-top: 0;
}

.aig-itinerary h3 {
	font-size: 1.1em;
	margin-top: 1em;
}

.aig-itinerary ul,
.aig-itinerary ol {
	padding-left: 22px;
}

.aig-itinerary p {
	margin: 0.6em 0;
}

.aig-actions {
	margin-top: 16px;
	display: flex;
	gap: 10px;
}

.aig-actions button {
	padding: 8px 14px;
	border-radius: 6px;
	border: 1px solid #ccc;
	background: #fff;
	cursor: pointer;
	font-size: 13px;
}

.aig-actions button:hover {
	background: #f2f2f2;
}
