/* หน้า Under Construction ของ hellosongkhla.com — ใช้ token ชุดเดียวกับระบบโปร */
:root {
  --salt: #F3F8F8;
  --ink: #12303A;
  --ink-soft: #4C6670;
  --lagoon: #0B6E73;
  --lagoon-tint: #E2F0F0;
  --mustard: #F2B705;
  --mustard-tint: #FDF3CF;
  --line: #CFE0E1;
  --gutter: 16px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column;
  background: var(--salt); color: var(--ink);
  font-family: "Anuphan", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 16px; line-height: 1.6;
}
h1, .brand { font-family: "Mitr", "Anuphan", system-ui, sans-serif; font-weight: 500; line-height: 1.3; margin: 0; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
.wrap { width: 100%; max-width: 640px; margin: 0 auto; padding: 0 var(--gutter); }

.site-header { background: var(--lagoon); color: #fff; }
.site-header .wrap { padding-top: 16px; padding-bottom: 14px; }
/* ขอบล่างแบบรอยปรุกระดาษคูปอง */
.site-header::after {
  content: ""; display: block; height: 10px;
  background: radial-gradient(circle at 9px 10px, var(--salt) 5px, var(--lagoon) 5.5px) repeat-x;
  background-size: 18px 10px;
}
.brand { font-size: 1.4rem; font-weight: 600; }
.brand b { color: var(--mustard); font-weight: 600; }

main { flex: 1; padding-top: 32px; padding-bottom: 32px; }

/* การ์ดคูปองที่มีต้นขั้ว — องค์ประกอบเอกลักษณ์ */
.ticket {
  position: relative; display: grid; grid-template-columns: 1fr;
  background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
  box-shadow: 0 1px 2px rgba(18, 48, 58, .06), 0 10px 28px -14px rgba(18, 48, 58, .3);
}
.ticket-main { padding: 24px 20px; display: grid; gap: 10px; }
.eyebrow {
  justify-self: start; font-size: .8rem; font-weight: 500; color: #6B5200;
  background: var(--mustard-tint); padding: 3px 10px; border-radius: 999px;
}
h1 { font-size: 1.6rem; }
.lead { color: var(--ink-soft); }
.topics { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.topics li {
  font-size: .85rem; padding: 5px 12px; border-radius: 999px;
  background: var(--lagoon-tint); color: #08575B; font-weight: 500;
}
.topics li:first-child { background: var(--mustard); color: var(--ink); }

.ticket-stub {
  position: relative; border-top: 2px dashed var(--line);
  padding: 16px 20px; text-align: center; color: var(--ink-soft);
  background: linear-gradient(180deg, #FBFDFD, #F2F8F8);
}
.ticket-stub::before, .ticket-stub::after {
  content: ""; position: absolute; top: -10px; width: 18px; height: 18px;
  border-radius: 50%; background: var(--salt); border: 1px solid var(--line);
}
.ticket-stub::before { left: -10px; }
.ticket-stub::after { right: -10px; }
.ticket-stub strong {
  display: block; font-family: "Mitr", sans-serif; font-weight: 500; font-size: 1.2rem; color: var(--lagoon);
}

.site-footer { padding: 20px 0 28px; font-size: .85rem; color: var(--ink-soft); text-align: center; }

@media (min-width: 640px) {
  main { padding-top: 56px; }
  h1 { font-size: 2rem; }
  .ticket { grid-template-columns: 1fr 150px; }
  .ticket-main { padding: 32px 28px; }
  .ticket-stub { border-top: 0; border-left: 2px dashed var(--line); display: grid; place-content: center; }
  .ticket-stub::before, .ticket-stub::after { left: -10px; right: auto; }
  .ticket-stub::before { top: -10px; }
  .ticket-stub::after { top: auto; bottom: -10px; }
}
