.hlad-shrine__finder, .hlad-shrine__finder * { box-sizing: border-box; font-family: "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif; }
.hlad-shrine__finder { max-width: 100%; color: inherit; line-height: 1.55; }
.hlad-shrine__header { margin: 0 0 1em; }
.hlad-shrine__header h2 { margin: 0 0 .35em; color: inherit; font-size: clamp(1.35rem, 2.3vw, 1.9rem); font-weight: 700; }
.hlad-shrine__header p { margin: 0; opacity: .82; }
.hlad-shrine__form { display: flex; flex-wrap: wrap; align-items: end; gap: .8em; padding: 1em; border: 1px solid #e4d3bc; border-radius: 12px; background: #fffdf8; }
.hlad-shrine__form > label { display: grid; flex: 1 1 12em; gap: .3em; font-weight: 600; }
.hlad-shrine__form .hltdb-birth-fields { flex: 1 1 100%; min-width: 0; }
.hlad-shrine__form .hltdb-birth-fields__field { font-weight: 400; }
.hlad-shrine__form .hltdb-birth-fields__field > span:first-child { font-weight: 600; }
.hlad-shrine__form select { width: 100%; min-height: 46px; padding: .55em .7em; border: 1px solid #b9a58e; border-radius: 8px; background: #fff; color: inherit; font: inherit; }
.hlad-shrine__form select:focus-visible { outline: 2px solid #a45e0a; outline-offset: 2px; }
.hlad-shrine__form button { min-height: 46px; padding: .6em 1.15em; border: 0; border-radius: 8px; background: #985908; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.hlad-shrine__form button:hover { filter: brightness(.94); }
.hlad-shrine__error, .hlad-shrine__empty { margin: 1em 0; padding: .8em 1em; border-radius: 8px; }
.hlad-shrine__error { border-inline-start: 4px solid #b42318; background: #fff2f0; color: #7a1710; }
.hlad-shrine__empty { border-inline-start: 4px solid #985908; background: #fff7df; }
.hlad-shrine__privacy { margin: .55em .2em 0; font-size: .88em; opacity: .8; }
.hlad-shrine__criteria { display: flex; flex-wrap: wrap; gap: .35em .75em; margin: 1em 0; padding: .8em 1em; border: 1px solid #e4d3bc; border-radius: 9px; background: #fbf6ed; }
.hlad-shrine__criteria strong { color: #5c3907; }
.hlad-shrine__criteria span { flex-basis: 100%; font-size: .92em; }
.hlad-shrine__results { margin-top: 1.1em; padding: 1em; border: 1px solid #e4d3bc; border-radius: 12px; background: #fff; }
.hlad-shrine__results h3 { margin: 0 0 .45em; font: inherit; font-size: 1.2em; font-weight: 700; }
.hlad-shrine__count { margin: 0 0 .75em; color: #5c3907; font-weight: 700; }
.hlad-shrine__table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #e4d3bc; border-radius: 9px; }
.hlad-shrine__table-wrap table { width: 100%; min-width: 960px; border-collapse: collapse; background: #fff; }
.hlad-shrine__table-wrap th, .hlad-shrine__table-wrap td { padding: .65em .75em; border-bottom: 1px solid #e9ddce; text-align: left; vertical-align: middle; }
.hlad-shrine__table-wrap th { background: #fbf6ed; font-weight: 700; white-space: nowrap; }
.hlad-shrine__table-wrap tr:last-child td { border-bottom: 0; }
.hlad-shrine__date, .hlad-shrine__lunar { white-space: nowrap; }
.hlad-shrine__badge { display: inline-block; margin: .1em .2em .1em 0; padding: .12em .55em; border-radius: 999px; background: #e6f4eb; color: #17633c; font-size: .9em; font-weight: 700; white-space: nowrap; }
.hlad-shrine__role { display: inline-block; margin: .08em 0; color: #5c3907; font-weight: 700; }
.hlad-shrine__windows strong, .hlad-shrine__windows span { display: block; white-space: nowrap; }
.hlad-shrine__windows strong { color: #17633c; }
.hlad-shrine__windows span { font-variant-numeric: tabular-nums; }
.hlad-shrine__thaksa small { display: block; margin: 0 0 .35em; max-width: 34em; font-size: .87em; line-height: 1.5; opacity: .82; }
.hlad-shrine__legend { margin: .9em 0 .65em; padding: .75em 1em; border-inline-start: 4px solid #985908; border-radius: 8px; background: #fbf6ed; }
.hlad-shrine__legend p { margin: .25em 0; }
.hlad-shrine__legend strong { color: #5c3907; }
.hlad-shrine__note { margin: .8em 0 0; color: inherit; font-size: .9em; opacity: .82; }
@media (max-width: 640px) { .hlad-shrine__form { align-items: stretch; } .hlad-shrine__form > label { flex-basis: 100%; } .hlad-shrine__form button { width: 100%; } .hlad-shrine__results { padding: .75em; } }
