.hltc, .hltc *, .hltc-monthly, .hltc-monthly *, .hltc-planetary, .hltc-planetary * { font-family: "Noto Sans Thai", "Leelawadee UI", Tahoma, sans-serif !important; }
.hltc { max-width: 100%; color: inherit; font-family: inherit; line-height: 1.6; }
.hltc *, .hltc *::before, .hltc *::after { box-sizing: border-box; }
.hltc__intro { margin-bottom: 1.25em; }
.hltc__intro h2 { margin: 0 0 .5em; font: inherit; font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 700; }
.hltc__intro p { margin: 0; }
.hltc__form, .hltc__result { padding: clamp(1em, 3vw, 1.5em); border: 1px solid #e4d3bc; border-radius: 14px; background: #fff; }
.hltc__fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9em; }
.hltc__fields label, .hltc__fields label span { display: block; }
.hltc__fields label span { margin-bottom: .35em; font-weight: 600; }
.hltc__time-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.hltc__time-field legend { margin-bottom: .35em; padding: 0; font-weight: 600; }
.hltc__time-selects { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .35em; }
.hltc__time-separator { font-weight: 700; text-align: center; }
.hltc__fields input, .hltc__fields select { display: block; width: 100%; min-height: 48px; padding: .65em .8em; border: 1px solid #b9a58e; border-radius: 8px; background: #fff; color: inherit; font: inherit; }
.hltc__fields input:focus, .hltc__fields select:focus { outline: 2px solid #a45e0a; outline-offset: 2px; }
.hltc__time-help { margin: .35em 0 0; color: #6a6259; font-size: .88em; }
.hltc__help, .hltc__privacy, .hltc__standard { font-size: .93em; opacity: .85; }
.hltc__help { margin: .85em 0; }
.hltc__submit { min-height: 46px; padding: .65em 1.2em; border: 0; border-radius: 8px; background: #985908; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.hltc__submit:hover { filter: brightness(.94); }
.hltc__error { margin: 1em 0 0; padding: .75em 1em; border-inline-start: 4px solid #b42318; background: #fff2f0; color: #7a1710; }
.hltc__result { margin-top: 1em; background: #fffdf9; }
.hltc__result h3 { margin: 0 0 .7em; font: inherit; font-size: 1.25em; font-weight: 700; }
.hltc__result p { margin: .4em 0; }
.hltc__lunar-date { font-size: 1.15em; font-weight: 700; }
.hltc__mansion { margin: .75em 0; padding: .65em .8em; border-inline-start: 4px solid #985908; border-radius: 6px; background: #fbf6ed; }
.hltc__mansion span { display: block; margin-top: .2em; font-size: .9em; opacity: .82; }
.hltc__age { margin-top: .7em !important; padding: .7em .9em; border-radius: 8px; background: #fbf6ed; }
.hltc__standard { margin-top: .9em !important; }
.hltc__privacy { margin: .8em 0 0; }
@media (max-width: 760px) { .hltc__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) { .hltc__fields { grid-template-columns: 1fr; } }

.hltc-monthly { max-width: 100%; color: inherit; font-family: inherit; line-height: 1.5; }
.hltc-monthly *, .hltc-monthly *::before, .hltc-monthly *::after { box-sizing: border-box; font-family: inherit; }
.hltc-monthly__heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 1em; margin-bottom: 1em; }
.hltc-monthly__heading h2 { margin: 0; font: inherit; font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 700; }
.hltc-monthly__month-title { margin: .25em 0 0; font-size: 1.1em; font-weight: 600; }
.hltc-monthly__form { display: flex; align-items: end; flex-wrap: wrap; gap: .65em; }
.hltc-monthly__form label { display: grid; gap: .25em; font-weight: 600; }
.hltc-monthly__form select, .hltc-monthly__form input { min-height: 44px; padding: .5em .65em; border: 1px solid #b9a58e; border-radius: 7px; background: #fff; color: inherit; font: inherit; }
.hltc-monthly__form select[name="hltc_calendar_month"] { min-width: 9em; }
.hltc-monthly__form select[name="hltc_calendar_year"] { min-width: 6.5em; }
.hltc-monthly__submit { min-height: 44px; padding: .5em 1em; border: 0; border-radius: 7px; background: #985908; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.hltc-monthly__submit:hover { filter: brightness(.94); }
.hltc-monthly__form :focus-visible, .hltc-monthly__scroll:focus-visible { outline: 2px solid #a45e0a; outline-offset: 2px; }
.hltc-monthly__navigation { display: flex; justify-content: space-between; align-items: center; gap: .75em; margin: -.25em 0 .8em; }
.hltc-monthly__nav-link { display: inline-flex; align-items: center; gap: .35em; min-height: 44px; padding: .55em 1em; border: 1px solid #985908; border-radius: 9px; background: linear-gradient(135deg, #fff8e8, #f3d99e); box-shadow: 0 2px 6px rgba(86, 51, 8, .16); color: #5c3907; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background .15s ease, box-shadow .15s ease, transform .15s ease; }
.hltc-monthly__nav-link:hover { transform: translateY(-1px); border-color: #744300; background: linear-gradient(135deg, #f8e8bd, #eccb7d); box-shadow: 0 4px 9px rgba(86, 51, 8, .22); color: #472900; text-decoration: none; }
.hltc-monthly__nav-link:focus-visible { outline: 2px solid #a45e0a; outline-offset: 2px; }
.hltc-monthly__nav-link.is-disabled { transform: none; border-color: #e4d3bc; background: #f5f1e9; box-shadow: none; color: inherit; opacity: .55; cursor: not-allowed; }
.hltc-monthly__year-summary { margin: 0 0 .8em; color: inherit; opacity: .82; }
.hltc-monthly__scroll { max-width: 100%; overflow-x: auto; border: 1px solid #e4d3bc; border-radius: 12px; background: #fff; }
.hltc-monthly__table { width: 100%; min-width: 700px; border-collapse: collapse; table-layout: fixed; }
.hltc-monthly__table caption { padding: .8em; color: inherit; font-weight: 700; text-align: left; }
.hltc-monthly__table th { padding: .7em .35em; border: 1px solid #e4d3bc; background: #fbf6ed; font-weight: 700; text-align: center; }
.hltc-monthly__table td { height: 108px; padding: .55em; border: 1px solid #e4d3bc; vertical-align: top; }
.hltc-monthly__table td.hltc-monthly__empty { background: #fcfaf6; }
.hltc-monthly__table .is-sunday { color: #9f2d25; }
.hltc-monthly__table .is-saturday { color: #255a91; }
.hltc-monthly__table td.is-today { outline: 2px solid #985908; outline-offset: -2px; background: #fff7df; }
.hltc-monthly__day-number { display: flex; align-items: center; justify-content: space-between; gap: .4em; font-size: 1em; font-weight: 700; }
.hltc-monthly__day-number time { color: inherit; font-size: 1.5em; line-height: 1.1; text-decoration: none; white-space: nowrap; }
.hltc-monthly__phra-icon { display: inline-flex; flex: 0 0 1.1em; width: 1.1em; height: 1.1em; }
.hltc-monthly__phra-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.hltc-monthly__lunar { margin: .45em 0 .15em; font-size: .82em; font-weight: 400; line-height: 1.4; white-space: nowrap; }
.hltc-monthly__lunar-phase, .hltc-monthly__lunar-month { font-size: 1.04em; font-weight: 400; }
.hltc-monthly__lunar-day { font-weight: 700; }
.hltc-monthly__galo-yok-list { display: flex; flex-wrap: wrap; gap: .2em; margin: .35em 0 0; }
.hltc-monthly__galo-yok { display: inline-block; padding: .05em .35em; border-radius: 999px; font-size: .75em; font-weight: 700; line-height: 1.5; }
.hltc-monthly__galo-yok--thongchai { color: #17633c; background: #e6f4eb; }
.hltc-monthly__galo-yok--athibodi { color: #174f83; background: #e5f0fb; }
.hltc-monthly__galo-yok--ubath { color: #8d2d27; background: #fbe9e7; }
.hltc-monthly__galo-yok--lokawin { color: #5f3d74; background: #f1eafa; }
.hltc-monthly__note { margin: .7em 0 0; font-size: .9em; opacity: .8; }
@media (max-width: 640px) { .hltc-monthly__heading { align-items: stretch; } .hltc-monthly__form { width: 100%; } .hltc-monthly__form label { flex: 1; } .hltc-monthly__form select { width: 100%; } .hltc-monthly__submit { width: 100%; } }

.hltc-planetary { max-width: 100%; color: inherit; font-family: inherit; line-height: 1.5; }
.hltc-planetary *, .hltc-planetary *::before, .hltc-planetary *::after { box-sizing: border-box; font-family: inherit; }
.hltc-planetary__heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 1em; margin-bottom: 1em; }
.hltc-planetary__heading h2 { margin: 0 0 .25em; font: inherit; font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 700; }
.hltc-planetary__month-title { margin: 0; font-size: 1.08em; font-weight: 600; }
.hltc-planetary__form { display: flex; align-items: end; flex-wrap: wrap; gap: .65em; }
.hltc-planetary__form label { display: grid; gap: .25em; font-weight: 600; }
.hltc-planetary__form select, .hltc-planetary__form input { min-height: 44px; padding: .5em .65em; border: 1px solid #b9a58e; border-radius: 7px; background: #fff; color: inherit; font: inherit; }
.hltc-planetary__form select[name="hltc_planetary_month"] { min-width: 9em; }
.hltc-planetary__form select[name="hltc_planetary_year"] { min-width: 6.5em; }
.hltc-planetary__submit { min-height: 44px; padding: .5em 1em; border: 0; border-radius: 7px; background: #985908; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.hltc-planetary__submit:hover { filter: brightness(.94); }
.hltc-planetary__note { margin: .5em 0 1em; padding: .8em 1em; border-inline-start: 4px solid #985908; border-radius: 6px; background: #fbf6ed; }
.hltc-planetary__status { margin: 1em 0; padding: .65em .9em; border-radius: 7px; background: #f4f0e8; }
.hltc-planetary__status.is-error { border-inline-start: 4px solid #b42318; background: #fff2f0; color: #7a1710; }
.hltc-planetary__section { margin-top: 1.5em; }
.hltc-planetary__section h3 { margin: 0 0 .65em; font: inherit; font-size: 1.2em; font-weight: 700; }
.hltc-planetary__scroll { max-width: 100%; overflow-x: auto; border: 1px solid #e4d3bc; border-radius: 10px; background: #fff; }
.hltc-planetary__table { width: 100%; border-collapse: collapse; }
.hltc-planetary__table th, .hltc-planetary__table td { padding: .6em .7em; border: 1px solid #e4d3bc; text-align: left; white-space: nowrap; }
.hltc-planetary__table thead th { background: #fbf6ed; font-weight: 700; }
.hltc-planetary__table tbody th { background: #fffdf9; font-weight: 700; }
.hltc-planetary__ingress-table { min-width: 620px; }
.hltc-planetary__positions-table { max-width: 100%; overflow: hidden; border: 1px solid #e4d3bc; border-radius: 10px; background: #fff; }
.hltc-planetary__position-table { width: 100%; min-width: 0; table-layout: fixed; font-size: clamp(11px, .9vw, 14px); }
.hltc-planetary__position-table th, .hltc-planetary__position-table td { padding: .4em .25em; text-align: center; white-space: normal; overflow-wrap: anywhere; line-height: 1.35; }
.hltc-planetary__position-table th:first-child { width: 100px; }
.hltc-planetary__position-table th:nth-child(2) { width: 112px; }
.hltc-planetary__position-table thead th { vertical-align: middle; }
.hltc-planetary__position-cards { display: none; }
.hltc-planetary__position-card { padding: .85em; border: 1px solid #e4d3bc; border-radius: 10px; background: #fff; }
.hltc-planetary__position-card-date { margin: 0 0 .6em; font-size: 1em; font-weight: 700; }
.hltc-planetary__position-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5em; margin: 0; }
.hltc-planetary__position-item { min-width: 0; padding: .35em .45em; border-radius: 6px; background: #fbf6ed; font-size: .9em; }
.hltc-planetary__position-item dt { font-weight: 700; }
.hltc-planetary__position-item dd { margin: .15em 0 0; overflow-wrap: anywhere; }
.hltc-planetary__empty { margin: .7em 0 0; }
.hltc-planetary__scroll:focus-visible, .hltc-planetary__form :focus-visible { outline: 2px solid #a45e0a; outline-offset: 2px; }
@media (max-width: 640px) { .hltc-planetary__heading { align-items: stretch; } .hltc-planetary__form { width: 100%; } .hltc-planetary__form label { flex: 1; } .hltc-planetary__form select { width: 100%; } .hltc-planetary__submit { width: 100%; } }
@media (max-width: 900px) { .hltc-planetary__positions-table { display: none; } .hltc-planetary__position-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65em; } }
@media (max-width: 560px) { .hltc-planetary__position-cards { grid-template-columns: 1fr; } }
