/*
 * THKTA theme styles — complements theme.json.
 * Editorial institutional design: navy, paper, restrained vermilion.
 */

:root {
	--thkta-utility-h: 40px;
	--thkta-rule: 1px solid var(--wp--preset--color--line);
	--thkta-ease: 180ms ease-out;
	--thkta-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6'/%3E%3C/svg%3E");
}

html { scroll-padding-top: 110px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--navy); color: #fff; }

a { text-underline-offset: 0.3em; text-decoration-thickness: 1px; transition: color var(--thkta-ease); }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--red);
	outline-offset: 3px;
}
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
img { height: auto; }

/* Skip link added by WordPress */
.skip-link.screen-reader-text:focus { background: #fff; color: var(--wp--preset--color--navy); z-index: 100001; }

/* ------------------------------------------------------------ Header */
.thkta-header {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--thkta-utility-h));
	z-index: 50;
	background: #fff;
	transition: box-shadow var(--thkta-ease);
}
.thkta-header.is-stuck { box-shadow: 0 1px 0 var(--wp--preset--color--line), 0 8px 24px -16px rgba(17, 38, 70, .35); }
.thkta-header > .wp-block-group { margin-block: 0; }

.thkta-utility, .thkta-masthead { padding-block: 0 !important; }
.thkta-utility { font-size: 0.8125rem; letter-spacing: 0.06em; }
.thkta-utility__inner { min-height: var(--thkta-utility-h); gap: 1rem; }
.thkta-utility .thkta-text { margin: 0; text-transform: uppercase; color: var(--wp--preset--color--on-navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.thkta-lang-zh .thkta-utility .thkta-text,
.thkta-lang-th .thkta-utility .thkta-text { text-transform: none; letter-spacing: 0.04em; }

.thkta-masthead { border-bottom: var(--thkta-rule); }
.thkta-masthead__inner { min-height: 84px; gap: 1.5rem; }

.thkta-brand { display: flex; align-items: center; gap: 0.9rem; text-decoration: none; color: var(--wp--preset--color--navy); line-height: 1.2; min-width: 0; }
.thkta-brand:hover { color: var(--wp--preset--color--navy); }
.thkta-brand__logo { width: 62px; height: auto; flex: none; }
.thkta-brand__text { display: flex; flex-direction: column; min-width: 0; }
.thkta-brand strong { font-size: 1.125rem; font-weight: 700; letter-spacing: 0.01em; }
.thkta-brand small { font-size: 0.875rem; color: var(--wp--preset--color--muted); margin-top: 3px; letter-spacing: 0.06em; }

/* Primary navigation */
.thkta-nav--primary { display: flex; align-items: center; }
.thkta-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: clamp(0.9rem, 1.6vw, 1.75rem); }
.thkta-menu a {
	display: flex; align-items: center; min-height: 84px; padding-top: 3px;
	font-size: 0.975rem; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--ink);
	border-bottom: 3px solid transparent; white-space: nowrap;
}
.thkta-menu a:hover { color: var(--wp--preset--color--red); }
.thkta-menu .current-menu-item > a,
.thkta-menu .current-menu-ancestor > a,
.thkta-menu .current_page_parent > a { border-bottom-color: var(--wp--preset--color--red); color: var(--wp--preset--color--navy); }
.thkta-nav__panel { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); }
.thkta-nav__extra { display: flex; align-items: center; gap: 1rem; }
.thkta-nav__extra .thkta-langs { display: none; }
.thkta-join.wp-element-button { padding: 0.7rem 1.25rem; font-size: 0.95rem; white-space: nowrap; text-decoration: none; }
.thkta-menu-toggle { display: none; }
.thkta-nav-empty { font-size: 0.875rem; color: var(--wp--preset--color--muted); }

/* Language switcher */
.thkta-langs { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0.25rem; }
.thkta-langs a, .thkta-langs span { display: inline-flex; align-items: center; min-height: 32px; padding: 0 0.55rem; text-decoration: none; color: inherit; font-size: 0.8125rem; letter-spacing: 0.04em; }
.thkta-utility .thkta-langs a { color: var(--wp--preset--color--on-navy); }
.thkta-utility .thkta-langs a:hover { color: #fff; background: var(--wp--preset--color--navy-2); }
.thkta-langs .is-current { color: #fff; box-shadow: inset 0 -2px 0 var(--wp--preset--color--red); font-weight: 600; }
.thkta-footer .thkta-langs .is-current { color: var(--wp--preset--color--navy); }
.thkta-footer .thkta-langs a:hover { color: var(--wp--preset--color--red); }

@media (max-width: 1120px) {
	.thkta-masthead__inner { min-height: 72px; }
	.thkta-menu-toggle {
		display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px; padding: 0.5rem 0.9rem;
		background: #fff; border: var(--thkta-rule); color: var(--wp--preset--color--navy); font: inherit; font-weight: 600; font-size: 0.95rem; cursor: pointer;
	}
	.thkta-menu-toggle__bars, .thkta-menu-toggle__bars::before, .thkta-menu-toggle__bars::after {
		display: block; width: 18px; height: 2px; background: currentColor; position: relative; transition: transform var(--thkta-ease), background var(--thkta-ease);
	}
	.thkta-menu-toggle__bars::before, .thkta-menu-toggle__bars::after { content: ""; position: absolute; left: 0; }
	.thkta-menu-toggle__bars::before { top: -6px; }
	.thkta-menu-toggle__bars::after { top: 6px; }
	.thkta-menu-toggle[aria-expanded="true"] .thkta-menu-toggle__bars { background: transparent; }
	.thkta-menu-toggle[aria-expanded="true"] .thkta-menu-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
	.thkta-menu-toggle[aria-expanded="true"] .thkta-menu-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

	.thkta-nav__panel {
		display: none; position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 0;
		background: #fff; border-top: var(--thkta-rule); border-bottom: var(--thkta-rule);
		padding: 0.5rem var(--wp--style--root--padding-right, 20px) 1.5rem var(--wp--style--root--padding-left, 20px);
		max-height: calc(100vh - 72px); overflow-y: auto;
		box-shadow: 0 18px 30px -24px rgba(17, 38, 70, .5);
	}
	.thkta-nav__panel.is-open { display: flex; }
	.thkta-masthead { position: relative; }
	.thkta-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.thkta-menu a { min-height: 54px; font-size: 1.0625rem; border-bottom: var(--thkta-rule); padding: 0; }
	.thkta-menu .current-menu-item > a { border-bottom-color: var(--wp--preset--color--line); box-shadow: inset 3px 0 0 var(--wp--preset--color--red); padding-left: 0.9rem; }
	.thkta-nav__extra { flex-direction: column; align-items: stretch; gap: 1rem; padding-top: 1.25rem; }
	.thkta-nav__extra .thkta-langs { display: flex; flex-wrap: wrap; gap: 0.5rem; }
	.thkta-nav__extra .thkta-langs a, .thkta-nav__extra .thkta-langs span { min-height: 44px; padding: 0 1rem; border: var(--thkta-rule); font-size: 0.95rem; }
	.thkta-nav__extra .thkta-langs .is-current { color: #fff; background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); box-shadow: none; }
	.thkta-join.wp-element-button { justify-content: center; min-height: 48px; display: flex; align-items: center; }
}
@media (max-width: 600px) {
	:root { --thkta-utility-h: 34px; }
	.thkta-utility { font-size: 0.6875rem; }
	.thkta-utility .thkta-langs { display: none; }
	.thkta-brand__logo { width: 46px; }
	.thkta-brand strong { font-size: 0.95rem; }
	.thkta-brand small { font-size: 0.75rem; }
	.thkta-menu-toggle > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.thkta-menu-toggle { padding: 0.5rem 0.7rem; min-width: 44px; justify-content: center; }
}

/* ------------------------------------------------------------ Sections */
.thkta-main { margin-block-start: 0; }
.thkta-page-content > :first-child, .wp-block-post-content > .thkta-section:first-child { margin-block-start: 0; }
.wp-block-post-content > .thkta-section + .thkta-section { margin-block-start: 0; }
.thkta-section { padding-block: clamp(3.25rem, 7vw, 6rem); }
.thkta-section > * + * { margin-block-start: clamp(1.5rem, 3vw, 2.25rem); }
.thkta-section h2 { margin-block: 0; }

.thkta-section-head { gap: 1rem 2rem; align-items: flex-end; }
.thkta-section-head h2 { max-width: 18ch; }
.thkta-section-head .thkta-arrow-link { margin: 0; }

.thkta-kicker, .is-style-kicker {
	font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--wp--preset--color--red); margin: 0;
}
.thkta-kicker a { color: inherit; text-decoration: none; }
.thkta-lang-zh .thkta-kicker, .thkta-lang-th .thkta-kicker { letter-spacing: 0.05em; }

.thkta-arrow-link a, .is-style-arrow-link a, a.thkta-arrow-link {
	display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px;
	font-weight: 600; color: var(--wp--preset--color--navy); text-decoration: underline; text-decoration-color: var(--wp--preset--color--line);
}
.thkta-arrow-link a::after, .is-style-arrow-link a::after {
	content: ""; width: 20px; height: 20px; flex: none; background: currentColor;
	-webkit-mask: var(--thkta-arrow) center / contain no-repeat; mask: var(--thkta-arrow) center / contain no-repeat;
	transition: transform var(--thkta-ease);
}
.thkta-arrow-link a:hover, .is-style-arrow-link a:hover { color: var(--wp--preset--color--red); text-decoration-color: currentColor; }
.thkta-arrow-link a:hover::after, .is-style-arrow-link a:hover::after { transform: translateX(4px); }

/* Outline button */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--navy); border: 1px solid var(--wp--preset--color--navy);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--navy); color: #fff; }

/* ------------------------------------------------------------ Hero */
.thkta-hero { padding-block: 0; overflow: hidden; }
.thkta-hero-columns { gap: 0 clamp(2rem, 5vw, 4.5rem); align-items: stretch !important; }
.thkta-hero-columns > .wp-block-column:first-child { padding-block: clamp(3rem, 7vw, 5.5rem); display: flex; flex-direction: column; justify-content: center; }
.thkta-hero-columns > .wp-block-column:first-child > * { margin-block: 0; }
.thkta-hero-columns > .wp-block-column:first-child > * + * { margin-block-start: 1.5rem; }
.thkta-hero-title { margin-block-start: 1rem !important; }
.thkta-lead { max-width: 36ch; }
.thkta-hero .wp-block-buttons { margin-block-start: 2rem !important; gap: 0.9rem; }
.thkta-hero-photo { position: relative; margin: 0; height: 100%; min-height: 520px; }
.thkta-hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.thkta-hero .thkta-hero-photo figcaption {
	position: absolute; right: 0; bottom: 0; margin: 0; padding: 0.8rem 1.4rem;
	background: var(--wp--preset--color--navy); color: #fff; font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase;
}
@media (min-width: 782px) {
	.thkta-hero-columns > .wp-block-column:last-child { flex-grow: 1 !important; margin-right: calc(-1 * var(--wp--style--root--padding-right, 2.5rem)); }
}
@media (min-width: 1312px) {
	.thkta-hero-columns > .wp-block-column:last-child { margin-right: calc((1232px - 100vw) / 2); }
}
@media (max-width: 781px) {
	.thkta-hero-columns > .wp-block-column:last-child { margin-inline: calc(-1 * var(--wp--style--root--padding-left, 20px)); }
	.thkta-hero-photo { min-height: 300px; height: 300px; }
	.thkta-hero-columns > .wp-block-column:first-child { padding-block: 2.5rem 2.25rem; }
}

/* Fact bar */
.thkta-factbar { padding-block: 0; border-bottom: var(--thkta-rule); }
.thkta-facts { gap: 0 !important; }
.thkta-fact { padding: 1.75rem 1.75rem 1.75rem 0; }
.thkta-fact + .thkta-fact { border-left: var(--thkta-rule); padding-left: 1.75rem; }
.thkta-fact p { margin: 0; }
.thkta-fact-title { font-family: var(--wp--preset--font-family--serif); font-size: 1.375rem; color: var(--wp--preset--color--navy); margin-bottom: 0.35rem !important; }
@media (max-width: 781px) {
	.thkta-fact, .thkta-fact + .thkta-fact { border-left: 0; padding: 1.25rem 0; }
	.thkta-fact + .thkta-fact { border-top: var(--thkta-rule); }
}

/* Numbered values */
.thkta-values { gap: clamp(1.25rem, 3vw, 2.75rem) !important; }
.thkta-value { border-top: var(--thkta-rule); padding-top: 1.5rem; }
.thkta-value > * { margin-block: 0; }
.thkta-value > * + * { margin-block-start: 0.6rem; }
.thkta-num { font-family: var(--wp--preset--font-family--serif); color: var(--wp--preset--color--red); font-size: 1rem; letter-spacing: 0.04em; }
.thkta-value h3 { font-size: var(--wp--preset--font-size--xl); color: var(--wp--preset--color--navy); }

/* Split two-column content */
.thkta-split { gap: clamp(2rem, 6vw, 5rem); }
.thkta-split h2 + p { margin-block-start: 1.25rem; }
.thkta-panel { padding: clamp(1.5rem, 3vw, 2.25rem); border-top: 3px solid var(--wp--preset--color--navy); }
.thkta-panel > :first-child { margin-top: 0; }
.thkta-checklist { list-style: none; padding: 0; }
.thkta-checklist li { position: relative; padding-left: 1.6rem; margin-bottom: 0.7rem; }
.thkta-checklist li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 0.7rem; height: 2px; background: var(--wp--preset--color--red); }

.wp-block-image figcaption, .wp-element-caption { margin-top: 0.75rem; font-size: 0.875rem; color: var(--wp--preset--color--muted); }

/* ------------------------------------------------------------ Event cards */
.thkta-events .wp-block-post-template { gap: clamp(1.5rem, 3vw, 2.25rem) !important; }
.thkta-event-card { gap: 0.6rem !important; height: 100%; border-bottom: var(--thkta-rule); padding-bottom: 1.5rem; }
.thkta-event-card > * { margin: 0 !important; }
.thkta-event-card .wp-block-post-featured-image { width: 100%; overflow: hidden; background: var(--wp--preset--color--navy); margin-bottom: 0.9rem !important; }
.thkta-event-card .wp-block-post-featured-image img { transition: transform 400ms ease-out; }
.thkta-event-card:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.thkta-event-title { font-family: var(--wp--preset--font-family--serif); font-size: 1.45rem; font-weight: 400; line-height: 1.25; }
.thkta-event-title a { text-decoration: none; color: var(--wp--preset--color--navy); }
.thkta-event-title a:hover { color: var(--wp--preset--color--red); }
.thkta-event-card .wp-block-post-date { color: var(--wp--preset--color--muted); font-weight: 400; }
.thkta-event-card .wp-block-post-excerpt { color: var(--wp--preset--color--muted); font-size: 1rem; }
.thkta-event-card .wp-block-post-excerpt__excerpt { margin: 0; }
.wp-block-query-pagination { margin-top: 2.5rem; gap: 0.5rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: 0.4rem 0.8rem; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--navy); color: #fff; }

/* Category filter */
.thkta-filter { gap: 0.75rem 1rem; align-items: center; }
.thkta-filter-label { margin: 0; font-weight: 600; font-size: 0.9375rem; }
.thkta-pills { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.thkta-pills a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 1rem; border: var(--thkta-rule); text-decoration: none; font-size: 0.9375rem; font-weight: 600; color: var(--wp--preset--color--navy); background: #fff; }
.thkta-pills a:hover { border-color: var(--wp--preset--color--navy); color: var(--wp--preset--color--navy); }
.thkta-pills a[aria-current="page"] { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); color: #fff; }

/* ------------------------------------------------------------ CTA band */
.thkta-cta h2 { color: #fff; max-width: 20ch; }
.thkta-cta p { margin-block-start: 1rem; }
.thkta-cta-columns { gap: 2rem; }
.thkta-cta-actions { justify-content: flex-end; }
@media (max-width: 781px) { .thkta-cta-actions { justify-content: flex-start; } }

/* ------------------------------------------------------------ Page head */
.thkta-pagehead { padding-block: clamp(2rem, 4vw, 3rem) clamp(2.5rem, 5vw, 3.75rem); border-bottom: var(--thkta-rule); }
.thkta-pagehead > * { margin-block: 0; }
.thkta-pagehead > * + * { margin-block-start: 1.1rem; }
.thkta-pagehead__title, .thkta-pagehead h1 { font-size: clamp(2.25rem, 4.2vw, 3.5rem); }
.thkta-pagehead > * { max-width: 1232px !important; }
.thkta-pagehead .thkta-lead, .thkta-pagehead .wp-block-post-excerpt { font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--muted); }
.thkta-pagehead .wp-block-post-excerpt__excerpt, .thkta-pagehead > p, .thkta-pagehead .thkta-text { margin: 0; max-width: 60ch; }
.thkta-pagehead .thkta-text { color: var(--wp--preset--color--muted); }
.thkta-single-date { color: var(--wp--preset--color--muted) !important; font-weight: 400 !important; font-size: 1rem !important; }

.thkta-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.thkta-breadcrumb li + li::before { content: "/"; margin-right: 0.4rem; color: var(--wp--preset--color--line); }
.thkta-breadcrumb a { color: inherit; }

/* Single event */
.thkta-article { padding-block: clamp(2.5rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem); }
.thkta-article__image { margin-bottom: 2.5rem !important; background: var(--wp--preset--color--paper); }
.thkta-article__image img { max-height: 640px; width: 100%; object-fit: contain !important; }
.thkta-article .wp-block-post-content > p:first-child { font-size: var(--wp--preset--font-size--lg); }
.thkta-back { margin-top: 2.5rem !important; padding-top: 1.5rem; border-top: var(--thkta-rule); }

/* ------------------------------------------------------------ Board */
.thkta-group-title { font-size: clamp(1.5rem, 2.4vw, 1.875rem) !important; padding-top: 1.25rem; border-top: 3px solid var(--wp--preset--color--navy); }
.thkta-board-section .thkta-board + .thkta-group-title { margin-block-start: clamp(3rem, 6vw, 4.5rem); }
.thkta-board { gap: 2.25rem 1.75rem !important; }
.thkta-person > * { margin-block: 0; }
.thkta-portrait { margin: 0 0 1rem !important; background: var(--wp--preset--color--mist); }
.thkta-portrait img { width: 100%; object-position: top center; }
.thkta-role { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--red); }
.thkta-lang-zh .thkta-role, .thkta-lang-th .thkta-role { font-size: 0.875rem; letter-spacing: 0.04em; }
.thkta-person-name { font-size: 1.25rem !important; margin-top: 0.3rem !important; }
.thkta-person p:last-child { margin-top: 0.2rem; }
@media (max-width: 600px) {
	.thkta-board { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.75rem 1rem !important; }
	.thkta-person-name { font-size: 1.05rem !important; }
}

/* ------------------------------------------------------------ Membership */
.thkta-tiers { gap: 1rem !important; }
.thkta-tier { padding: 1.5rem 1.5rem 1.25rem; border: var(--thkta-rule); border-top: 3px solid var(--wp--preset--color--navy); }
.thkta-tier > * { margin-block: 0; }
.thkta-tier > * + * { margin-block-start: 0.4rem; }
.thkta-tier h3 { font-size: 1.15rem; }
.thkta-price { font-family: var(--wp--preset--font-family--serif); font-size: 2rem; color: var(--wp--preset--color--navy); margin-top: 0.75rem !important; }
.thkta-note { margin-top: 1.25rem; }

.thkta-enquiry { background: #fff; padding: clamp(1.5rem, 3vw, 2.25rem); border-top: 3px solid var(--wp--preset--color--red); }
.thkta-enquiry p { margin: 0 0 1rem; }
.thkta-enquiry__title { margin: 0 0 0.5rem; font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: 1.75rem; color: var(--wp--preset--color--navy); }
.thkta-enquiry__intro { color: var(--wp--preset--color--muted); font-size: 0.95rem; margin-bottom: 1.25rem !important; }
.thkta-enquiry label { display: block; font-weight: 600; font-size: 0.9375rem; margin-bottom: 0.3rem; }
.thkta-enquiry input, .thkta-enquiry select, .thkta-enquiry textarea {
	box-sizing: border-box;
	width: 100%; min-height: 48px; padding: 0.6rem 0.8rem; border: 1px solid var(--wp--preset--color--muted); border-radius: 0;
	background: #fff; color: var(--wp--preset--color--ink); font: inherit; font-size: 1rem;
}
.thkta-enquiry textarea { min-height: 120px; resize: vertical; }
.thkta-enquiry [aria-invalid="true"] { border-color: var(--wp--preset--color--red); box-shadow: inset 3px 0 0 var(--wp--preset--color--red); }
.thkta-enquiry button { cursor: pointer; }
.thkta-enquiry__req { font-size: 0.8125rem; color: var(--wp--preset--color--muted); }
.thkta-enquiry__result:not(:empty) { padding: 1rem; background: var(--wp--preset--color--mist); font-size: 0.95rem; overflow-wrap: anywhere; }
.thkta-enquiry__result a { font-weight: 600; }

/* ------------------------------------------------------------ Contact */
.thkta-contact { margin: 0; }
.thkta-contact > div + div { margin-top: 1rem; }
.thkta-contact dt { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.thkta-contact dd { margin: 0.2rem 0 0; }
.thkta-contact--full { margin-block: 1.75rem 2rem; }
.thkta-contact--full > div { padding-bottom: 1rem; border-bottom: var(--thkta-rule); }
.thkta-contact--full dd { font-size: 1.125rem; }
.thkta-map { border: var(--thkta-rule); }
.thkta-map img { width: 100%; }
.thkta-map figcaption { padding: 0.75rem 1rem; margin: 0 !important; }

/* ------------------------------------------------------------ Footer */
.thkta-footer { padding-block: clamp(3rem, 6vw, 4.5rem) 1.5rem; font-size: 0.975rem; border-top: var(--thkta-rule); }
.thkta-footer__cols { gap: clamp(2rem, 5vw, 4rem); }
.thkta-footer .thkta-text { color: var(--wp--preset--color--muted); max-width: 38ch; }
.thkta-footer .thkta-text--footer_explore, .thkta-footer .thkta-text--footer_contact {
	display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--navy); margin-bottom: 1rem;
}
.thkta-footer .thkta-brand { margin-bottom: 1.25rem; }
.thkta-nav--footer .thkta-menu { flex-direction: column; align-items: flex-start; gap: 0.15rem; }
.thkta-nav--footer .thkta-menu a { min-height: 36px; border: 0; padding: 0; font-weight: 400; font-size: 0.975rem; }
.thkta-nav--footer .thkta-menu a:hover { text-decoration: underline; }
.thkta-nav--footer .current-menu-item > a { box-shadow: none; padding: 0; }
.thkta-fineprint { margin-top: clamp(2rem, 5vw, 3rem) !important; padding-top: 1.25rem; border-top: var(--thkta-rule); gap: 0.75rem 2rem; font-size: 0.8125rem; color: var(--wp--preset--color--muted); }
.thkta-fineprint p { margin: 0; }
.thkta-fineprint .thkta-langs a, .thkta-fineprint .thkta-langs span { min-height: 32px; }

/* Search */
.thkta-search { max-width: 520px; }
.thkta-search .wp-block-search__input { border: 1px solid var(--wp--preset--color--muted); border-radius: 0; min-height: 48px; padding: 0 0.9rem; }
.thkta-search .wp-block-search__button { border-radius: 0; margin-left: 0; }
.thkta-search-results .wp-block-post-title a { text-decoration: none; }

/* ------------------------------------------------------------ Language-specific typography */
.thkta-lang-zh { --wp--preset--font-family--serif: "Libre Baskerville", "Songti TC", "Noto Serif TC", "Noto Serif CJK TC", "PMingLiU", Georgia, serif; }
.thkta-lang-zh body, body.thkta-lang-zh { line-height: 1.8; letter-spacing: 0.01em; }
.thkta-lang-zh :is(h1, h2, h3, h4) { letter-spacing: 0.02em; line-height: 1.32; }
.thkta-lang-zh .thkta-hero-title, .thkta-lang-zh .thkta-pagehead h1 { font-weight: 600; }
.thkta-lang-th { line-height: 1.75; }
.thkta-lang-th :is(h1, h2, h3, h4) { letter-spacing: 0; line-height: 1.4; }
.thkta-lang-th .thkta-hero-title, .thkta-lang-th .thkta-pagehead h1 { font-weight: 500; }
.thkta-lang-zh .thkta-utility, .thkta-lang-th .thkta-utility { font-size: 0.8125rem; }

/* ------------------------------------------------------------ Motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.thkta-event-card:hover .wp-block-post-featured-image img { transform: none; }
}

/* ------------------------------------------------------------ Print */
@media print {
	.thkta-utility, .thkta-nav, .thkta-cta, .thkta-enquiry, .thkta-footer .thkta-nav { display: none !important; }
	.thkta-header { position: static; }
}

/* ------------------------------------------------------------ Explicit grid tracks (override auto-fill) */
.thkta-values, .thkta-facts { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.thkta-events .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.thkta-board { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.thkta-tiers { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 1000px) {
	.thkta-values, .thkta-events .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.thkta-board { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 781px) {
	.thkta-values, .thkta-facts, .thkta-events .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 600px) {
	.thkta-board { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.thkta-tiers { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Editor: keep the header static so the utility bar stays visible */
.editor-styles-wrapper .thkta-header { position: static; }
