/* หน้าติดต่อเรา (contact.php) */
.ct-hero {
	position: relative;
	padding: 72px 0 120px;
	background-size: cover;
	background-position: left center;
	text-align: center;
	color: #FFF;
}

.ct-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgba(141, 1, 4, .88) 0%, rgba(206, 0, 1, .7) 45%, rgba(20, 20, 20, .55) 100%);
}

.ct-hero .container { position: relative; }

.ct-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	border: 1px solid rgba(255, 255, 255, .25);
	font-size: 14px;
	font-weight: 600;
}

.ct-hero-title {
	margin: 14px 0 6px;
	font-size: 46px;
	font-weight: 700;
	line-height: 1.2;
	color: #FFF;
}

.ct-hero .ct-hero-sub {
	font-size: 18px;
	color: rgba(255, 255, 255, .9) !important;
}

.ct-section {
	padding-bottom: 70px;
	background: #f6f6f6;
}

/* ---------- การ์ดช่องทางติดต่อ (ซ้อนขึ้นไปบนภาพด้านบน) ---------- */
.ct-cards {
	position: relative;
	top: -64px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	margin-bottom: -24px;
}

.ct-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	padding: 22px 22px 20px;
	border-radius: 20px;
	background: #FFF;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .08);
	color: #1f1f1f;
	text-decoration: none !important;
	transition: transform .25s ease, box-shadow .25s ease;
}

a.ct-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 22px 46px rgba(206, 0, 1, .16);
}

.ct-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	margin-bottom: 12px;
	border-radius: 15px;
	background: linear-gradient(120deg, #CE0001 0%, #8D0104 100%);
	color: #FFF;
	font-size: 20px;
	box-shadow: 0 8px 18px rgba(206, 0, 1, .25);
}

.ct-card-line .ct-card-icon {
	background: #06C755;
	font-size: 26px;
	box-shadow: 0 8px 18px rgba(6, 199, 85, .25);
}

.ct-card small {
	font-size: 13px;
	color: #888;
}

.ct-card strong {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.4;
	color: #1f1f1f;
}

.ct-card strong.ct-card-addr {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
}

.ct-card-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding-top: 10px;
	font-size: 14px;
	font-weight: 600;
	color: #CE0001;
}

.ct-card-line .ct-card-link { color: #06a34a; }
.ct-card-link i { transition: transform .25s ease; }
a.ct-card:hover .ct-card-link i { transform: translateX(4px); }

/* ---------- แนะนำศูนย์ + แผนที่ ---------- */
.ct-main {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 24px;
	align-items: stretch;
}

.ct-panel {
	padding: 28px;
	border-radius: 24px;
	background: #FFF;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .06);
}

.ct-panel-head {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-bottom: 18px;
}

.ct-qr {
	flex: none;
	width: 140px;
	padding: 8px;
	border-radius: 16px;
	border: 1px solid #eee;
	background: #FFF;
	text-align: center;
	text-decoration: none !important;
	transition: transform .25s ease;
}

.ct-qr:hover { transform: rotate(-2deg) scale(1.03); }

.ct-qr img {
	display: block;
	width: 100%;
	border-radius: 10px;
}

.ct-qr span {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 600;
	color: #06a34a;
}

.ct-panel-title {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	color: #1f1f1f;
}

.ct-panel .ct-panel-desc {
	font-size: 15px;
	line-height: 1.75 !important;
	color: #555 !important;
}

.ct-map {
	min-height: 420px;
	border-radius: 24px;
	overflow: hidden;
	background: #FFF;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .06);
}

.ct-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
}

.ct-map .cc-blocked {
	height: 100%;
	min-height: 420px !important;
	border: 0;
	border-radius: 0;
}

.ct-gallery { margin-top: 44px; }

@media (prefers-reduced-motion: reduce) {
	.ct-card, .ct-qr, .ct-card-link i { transition: none; }
	a.ct-card:hover, .ct-qr:hover { transform: none; }
}

/* ---------- แท็บเล็ต / มือถือ ---------- */
@media (max-width: 991px) {
	.ct-main { grid-template-columns: 1fr; }
}

@media (max-width: 575px) {
	.ct-hero { padding: 52px 0 100px; }
	.ct-hero-title { font-size: 36px; }
	.ct-cards { grid-template-columns: 1fr 1fr; gap: 10px; top: -56px; }
	.ct-card { padding: 16px 14px; border-radius: 16px; }
	.ct-card-icon { width: 42px; height: 42px; font-size: 17px; border-radius: 12px; margin-bottom: 8px; }
	.ct-card strong { font-size: 16px; }
	.ct-card strong.ct-card-addr { font-size: 13px; }
	.ct-panel { padding: 20px 16px; }
	.ct-panel-head { flex-direction: column; align-items: center; text-align: center; }
	.ct-map, .ct-map iframe, .ct-map .cc-blocked { min-height: 340px !important; }
}
