/* An Hưng Phong Thủy Tools - styles */

.ahpt-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px;
}

/* Khối bọc ngoài có hình nền (khi đã chọn ảnh nền trong Phong Thủy Tools > Cài đặt) */
.ahpt-wrapper.ahpt-has-bg {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 10px;
	padding: 48px 20px;
	position: relative;
}

/* Lớp phủ trắng mờ để 3 ô tiện ích luôn nổi bật, dễ đọc trên nền ảnh */
.ahpt-wrapper.ahpt-has-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.35);
	border-radius: 10px;
	z-index: 0;
}

.ahpt-wrapper.ahpt-has-bg .ahpt-grid-3 {
	position: relative;
	z-index: 1;
}

.ahpt-grid-3 {
	display: grid;
	grid-template-columns: 1fr 1fr 1.3fr;
	gap: 24px;
	align-items: stretch; /* 3 cột cao bằng nhau, bám theo cột cao nhất */
}

@media (max-width: 900px) {
	.ahpt-grid-3 {
		grid-template-columns: 1fr;
	}
}

.ahpt-box {
	background: #fff;
	border: 1px solid #e7ddc9;
	border-radius: 6px;
	padding: 28px 26px 32px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

/* Đẩy nút "Tra cứu / Đăng ký" xuống sát đáy khối, để 3 ô luôn thẳng hàng dù nội dung dài ngắn khác nhau */
.ahpt-box .ahpt-form {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.ahpt-title {
	text-align: center;
	color: #7a1f2b;
	font-weight: 800;
	font-size: 22px;
	letter-spacing: 0.5px;
	margin: 0 0 24px;
	line-height: 1.35;
	text-transform: uppercase;
}

.ahpt-form .ahpt-field {
	margin-bottom: 18px;
}

.ahpt-form .ahpt-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 4px;
}

.ahpt-form label {
	display: block;
	font-size: 14px;
	color: #6b6b6b;
	margin-bottom: 6px;
}

.ahpt-form label .req {
	color: #b3261e;
}

.ahpt-form select,
.ahpt-form input[type="text"],
.ahpt-form input[type="tel"],
.ahpt-form input[type="email"] {
	width: 100%;
	border: none;
	border-bottom: 1px solid #cfc6ae;
	padding: 8px 2px;
	font-size: 17px;
	font-weight: 600;
	color: #2b2b2b;
	background: transparent;
	outline: none;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
}

.ahpt-form select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9'><path d='M1 1l6 6 6-6' stroke='%23555' stroke-width='1.6' fill='none' fill-rule='evenodd'/></svg>");
	background-repeat: no-repeat;
	background-position: right 4px center;
	padding-right: 20px;
}

.ahpt-form select:focus,
.ahpt-form input:focus {
	border-bottom-color: #7a1f2b;
}

.ahpt-honeypot {
	position: absolute;
	left: -9999px;
	top: -9999px;
	opacity: 0;
	height: 0;
	overflow: hidden;
}

.ahpt-btn {
	display: block;
	width: 100%;
	margin-top: 22px;
	background: #7a1f2b;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 14px 14px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.4px;
	line-height: 1.3;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.1s ease;
}

/* Bên trong khối .ahpt-box, nút luôn được đẩy sát đáy để 3 ô thẳng hàng */
.ahpt-box .ahpt-form .ahpt-btn {
	margin-top: auto;
}

.ahpt-btn:hover {
	background: #611825;
}

.ahpt-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.ahpt-result {
	margin-top: 20px;
}

.ahpt-result-box {
	background: #faf7f0;
	border: 1px solid #ecdfc4;
	border-radius: 6px;
	padding: 16px 18px;
	font-size: 14.5px;
	line-height: 1.6;
	color: #333;
}

.ahpt-result-line {
	margin: 0 0 10px;
}

.ahpt-result-tong-ket {
	margin: 14px 0 6px;
	padding-top: 10px;
	border-top: 1px dashed #ecdfc4;
	font-weight: 700;
}

.ahpt-tot {
	color: #1e7d34;
}

.ahpt-xau {
	color: #b3261e;
}

.ahpt-huong-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 12px;
}

.ahpt-huong-grid ul {
	margin: 6px 0 0;
	padding-left: 18px;
}

.ahpt-disclaimer {
	margin-top: 12px;
	font-size: 12.5px;
	color: #8a8a8a;
	font-style: italic;
}

.ahpt-error-box {
	background: #fdecea;
	border: 1px solid #f3c2bd;
	color: #a12b21;
	border-radius: 6px;
	padding: 12px 14px;
	font-size: 14px;
}

.ahpt-success-box {
	background: #eaf7ee;
	border: 1px solid #b8e2c5;
	color: #1e7d34;
	border-radius: 6px;
	padding: 12px 14px;
	font-size: 14px;
	font-weight: 600;
}
