/* Contact Us — AASP Theme (Light Background, Pink Accents) */
:root {
	--ct-main: #D1236B;          /* AASP Primary (Magenta) */
	--ct-main-light: #E84D8A;    /* Lighter Magenta for gradients */
	--ct-main-dark: #A31250;     /* Deep Magenta */
	--ct-rgb: 209, 35, 107;      /* RGB of Magenta */
	--ct-accent: #FEB713;        /* AASP Accent (Yellow) */
	--ct-ink: #1E1A47;           /* AASP Indigo Dark for text */
	--ct-muted: #6B668A;         /* AASP Muted Indigo */
	--ct-radius: 1.25rem;
}
.ico { display: inline-block; flex-shrink: 0; width: 1em; height: 1em; fill: currentColor; vertical-align: -.125em; }

/* Breadcrumb */
.ct-breadcrumb { display: inline-flex; align-items: center; gap: .6rem; padding: .5rem 1.1rem; border-radius: 999px; font-size: .95rem; font-weight: 500; background: rgba(var(--ct-rgb), .08); }
.ct-breadcrumb a { display: inline-flex; align-items: center; gap: .45rem; color: var(--ct-muted); text-decoration: none; transition: color .2s; }
.ct-breadcrumb a:hover, .ct-breadcrumb a.active { color: var(--ct-main); }
.ct-breadcrumb .sep { width: .6em; height: .6em; color: rgba(var(--ct-rgb), .45); }

/* Heading */
.ct-section { position: relative; }
.ct-head { max-width: 640px; margin: 0 auto 2.5rem; text-align: center; }
.ct-eyebrow { display: inline-block; margin-bottom: .75rem; padding: .3rem .9rem; border-radius: 999px; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ct-main); background: rgba(var(--ct-rgb), .1); }
.ct-title {
	position: relative;
	margin: 0 0 1rem;
	padding-bottom: 1rem;
	font-size: clamp(2rem, 4vw, 2.6rem);
	font-weight: 700;
	color: var(--ct-ink); /* ใช้สีกรมท่าเข้มสำหรับหัวข้อหลัก ให้ตรงกับภาพต้นฉบับ */
}
.ct-title::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 64px; height: 4px; border-radius: 4px; transform: translateX(-50%); background: linear-gradient(90deg, var(--ct-accent), var(--ct-main)); }
.ct-lead { margin: 0; font-size: 1.05rem; color: var(--ct-muted); }

/* Map */
.ct-map { position: relative; height: 100%; min-height: 420px; overflow: hidden; border-radius: var(--ct-radius); box-shadow: 0 20px 45px -20px rgba(45, 39, 105, .25); } /* เงาโทน Indigo อ่อนๆ */
.ct-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.9); }
.ct-map-btn {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .65rem 1.2rem;
	border-radius: 999px;
	font-size: .95rem;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	background: linear-gradient(135deg, var(--ct-main-light), var(--ct-main));
	box-shadow: 0 10px 22px -8px rgba(var(--ct-rgb), .6);
	transition: transform .2s, box-shadow .2s;
}
.ct-map-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 28px -10px rgba(var(--ct-rgb), .8); }

/* Card */
.ct-card { height: 100%; padding: 2rem; border: 1px solid rgba(var(--ct-rgb), .12); border-radius: var(--ct-radius); background: #fff; box-shadow: 0 20px 45px -25px rgba(45, 39, 105, .15); }
.ct-org { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px dashed rgba(var(--ct-rgb), .25); }
.ct-org-ic { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 56px; height: 56px; border-radius: 16px; font-size: 1.5rem; color: #fff; background: linear-gradient(135deg, var(--ct-main), var(--ct-main-dark)); box-shadow: 0 10px 20px -8px rgba(var(--ct-rgb), .5); }
.ct-org-name { font-size: 1.25rem; font-weight: 600; line-height: 1.35; color: var(--ct-ink); }
.ct-org-sub { font-size: .95rem; color: var(--ct-muted); }

/* List Info */
.ct-list { display: grid; gap: .25rem; margin: 0 0 1.25rem; padding: 0; list-style: none; }
.ct-list li, .ct-hours { display: flex; align-items: center; gap: 1rem; padding: .7rem 1rem; border-radius: 14px; transition: background .2s, transform .2s; }
.ct-list li:hover { background: rgba(var(--ct-rgb), .06); transform: translateX(4px); }
.ct-list small, .ct-hours small { display: block; margin-bottom: .1rem; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ct-muted); }
.ct-list div > span, .ct-list a, .ct-hours div > span { font-size: 1.05rem; font-weight: 500; color: var(--ct-ink); word-break: break-word; }
.ct-list a { text-decoration: none; background: linear-gradient(var(--ct-main), var(--ct-main)) 0 100% / 0 2px no-repeat; transition: background-size .3s, color .2s; }
.ct-list a:hover { color: var(--ct-main); background-size: 100% 2px; }
.ct-ic { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; height: 44px; border-radius: 12px; font-size: 1.05rem; color: var(--ct-main); background: rgba(var(--ct-rgb), .1); transition: background .2s, color .2s; }
.ct-list li:hover .ct-ic { color: #fff; background: var(--ct-main); }

/* Office Hours Box */
.ct-hours { background: linear-gradient(135deg, rgba(var(--ct-rgb), .03), rgba(254,183,19,.12)); }
.ct-hours .ct-ic { color: #B38000; background: rgba(254,183,19,.25); } /* โทนเหลือง Accent สำหรับไอคอนเวลา */
.ct-hours em { font-style: normal; font-size: .9rem; color: var(--ct-muted); }

/* Responsive */
@media (max-width: 991.98px) {
	.ct-map { min-height: 320px; }
}
@media (max-width: 575.98px) {
	.ct-card { padding: 1.4rem; }
	.ct-list li, .ct-hours { padding: .75rem .5rem; }
	.ct-map-btn { left: .75rem; right: .75rem; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.ct-section *, .ct-breadcrumb * { transition: none !important; }
}