.kundali-wrap {
	max-width: 760px;
	margin: 0 auto;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #2a2a2a;
}
.kundali-title { font-size: 1.5rem; margin-bottom: .4rem; }
.kundali-intro { font-size: .95rem; color: #555; margin-bottom: 1.2rem; }

.kundali-form {
	background: #faf7f0;
	border: 1px solid #e4d9c3;
	border-radius: 10px;
	padding: 1.2rem 1.4rem;
}
.kundali-row { margin-bottom: 1rem; }
.kundali-row-3, .kundali-row-place {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: .8rem;
}
.kundali-form label {
	display: flex;
	flex-direction: column;
	font-size: .82rem;
	font-weight: 600;
	color: #5a4a2a;
	gap: .3rem;
}
.kundali-form input,
.kundali-form select {
	font-size: .95rem;
	padding: .5rem .6rem;
	border: 1px solid #cdbfa3;
	border-radius: 6px;
	background: #fff;
	font-weight: 400;
}
.kundali-hint { font-size: .78rem; color: #888; margin: .4rem 0 .9rem; }
.kundali-actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.kundali-form button {
	cursor: pointer;
	border: none;
	border-radius: 6px;
	padding: .6rem 1.1rem;
	font-size: .92rem;
	font-weight: 600;
}
.kundali-geocode { background: #e8ddc6; color: #5a4a2a; }
.kundali-submit { background: #7a4f1d; color: #fff; }
.kundali-geocode:hover { background: #ddd0b3; }
.kundali-submit:hover { background: #633f15; }

.kundali-result { margin-top: 1.6rem; }
.kundali-loading, .kundali-error { font-style: italic; }
.kundali-error { color: #b22222; }

.kundali-meta p { margin: .15rem 0; font-size: .9rem; }
.kundali-caption { font-size: .9rem; color: #555; margin: 1rem 0 .6rem; }

.kundali-svg {
	width: 100%;
	max-width: 420px;
	height: auto;
	display: block;
	margin: 0 auto 1.4rem;
}

.kundali-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9rem;
	margin-top: .5rem;
}
.kundali-table th, .kundali-table td {
	border: 1px solid #e0d5bf;
	padding: .45rem .6rem;
	text-align: left;
}
.kundali-table th { background: #f3ebd9; color: #5a4a2a; }
.kundali-table tr:nth-child(even) td { background: #fbf8f1; }

.kundali-disclaimer { font-size: .76rem; color: #999; margin-top: .8rem; }

@media (max-width: 560px) {
	.kundali-row-3, .kundali-row-place { grid-template-columns: 1fr; }
}
