/*
 * Thai Massage Dubai theme styles.
 * Colours and fonts come from theme.json presets, so changing a colour in
 * Appearance > Editor > Styles updates the whole site.
 */
:root {
	--tmd-indigo: var(--wp--preset--color--indigo, #18203b);
	--tmd-indigo-deep: var(--wp--preset--color--indigo-deep, #10172c);
	--tmd-jade: var(--wp--preset--color--jade, #2e7c70);
	--tmd-jade-soft: var(--wp--preset--color--jade-soft, #e4efec);
	--tmd-saffron: var(--wp--preset--color--saffron, #e8a33d);
	--tmd-saffron-soft: var(--wp--preset--color--saffron-soft, #fbecd3);
	--tmd-porcelain: var(--wp--preset--color--porcelain, #f3f5f4);
	--tmd-ink: var(--wp--preset--color--ink, #1c2233);
	--tmd-muted: var(--wp--preset--color--muted, #5a6275);
	--tmd-line: rgba(28, 34, 51, 0.12);
	--tmd-serif: var(--wp--preset--font-family--fraunces, Georgia, serif);
	--tmd-sans: var(--wp--preset--font-family--manrope, system-ui, sans-serif);
	--tmd-gutter: clamp(16px, 4vw, 40px);
	--tmd-radius: 22px;
	--tmd-ease: cubic-bezier(0.3, 0.6, 0.3, 1);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4 { font-optical-sizing: auto; text-wrap: balance; }
p { text-wrap: pretty; }
:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 3px solid var(--tmd-saffron);
	outline-offset: 3px;
	border-radius: 6px;
}
.wp-site-blocks.wp-site-blocks > * { margin-block-start: 0; }
.tmd-sec.tmd-sec { margin-block: 0; }
.tmd-skip { position: absolute; left: -9999px; }

/* ---------- Layout ---------- */
.tmd-sec {
	position: relative;
	padding-block: clamp(64px, 9vw, 124px);
	background: #fff;
	color: var(--tmd-ink);
}
.tmd-sec--porcelain { background: var(--tmd-porcelain); }
.tmd-sec--jade { background: var(--tmd-jade-soft); }
.tmd-sec--dark { background: var(--tmd-indigo); color: #e9ecf3; }
.tmd-sec--dark :where(h1, h2, h3, h4) { color: #fff; }
.tmd-sec--dark a:where(:not(.wp-element-button)) { color: var(--tmd-saffron); }
.tmd-wrap.tmd-wrap {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: var(--tmd-gutter);
	box-sizing: content-box;
}
.tmd-head { max-width: 720px; margin-bottom: clamp(32px, 5vw, 56px); }
.tmd-head.tmd-head > * + * { margin-top: 16px; }
.tmd-head p { font-size: 1.125rem; color: var(--tmd-muted); }
.tmd-sec--dark .tmd-head p { color: #b9c0d3; }
.tmd-grid.tmd-grid { display: grid; gap: clamp(16px, 2.4vw, 28px); }
.tmd-grid.tmd-grid > * { margin: 0; }
.tmd-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tmd-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .tmd-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tmd-grid--2, .tmd-grid--3 { grid-template-columns: 1fr; } }
.tmd-split.tmd-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.tmd-split.tmd-split > * { margin: 0; }
.tmd-split__aside { position: sticky; top: 110px; }
.tmd-split__aside.tmd-split__aside > * + * { margin-top: 18px; }
@media (max-width: 900px) {
	.tmd-split.tmd-split { grid-template-columns: 1fr; }
	.tmd-split__aside { position: static; }
}
.tmd-card {
	background: #fff;
	border-radius: var(--tmd-radius);
	padding: clamp(24px, 3vw, 36px);
	border: 1px solid var(--tmd-line);
}
.tmd-card.tmd-card > * + * { margin-top: 14px; }

.tmd-h3.tmd-h3 { font-size: 1.375rem; }
.tmd-card[class*="tmd-ico--"]::before { color: var(--tmd-jade); margin-bottom: 4px; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: transform 0.2s var(--tmd-ease), background-color 0.2s, box-shadow 0.2s; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: #f0b556;
	box-shadow: 0 10px 24px -12px rgba(232, 163, 61, 0.9);
}
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid currentColor; background: transparent; }
.tmd-sec--dark .wp-block-button.is-style-outline .wp-block-button__link,
.tmd-header .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; }
.tmd-wa .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; }
.tmd-wa .wp-block-button__link::before {
	content: "";
	width: 20px;
	height: 20px;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--tmd-i-whatsapp) center / contain no-repeat;
	mask: var(--tmd-i-whatsapp) center / contain no-repeat;
}
.tmd-btn-sm .wp-block-button__link { padding: 10px 18px; font-size: 0.9375rem; }

/* ---------- Icons ---------- */
:root {
	--tmd-i-lotus: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020c-3.2-3-3.2-7.6%200-11.5%203.2%203.9%203.2%208.5%200%2011.5z%22%2F%3E%3Cpath%20d%3D%22M11%2020c-4.2-.6-6.8-3.5-6.6-7.8%203.1.9%205.6%203.8%206.6%207.8%22%2F%3E%3Cpath%20d%3D%22M13%2020c4.2-.6%206.8-3.5%206.6-7.8-3.1.9-5.6%203.8-6.6%207.8%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%224.5%22%20r%3D%221%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-shield: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l7.5%203v5.5c0%204.7-3.1%208.3-7.5%209.5-4.4-1.2-7.5-4.8-7.5-9.5V6L12%203z%22%2F%3E%3Cpath%20d%3D%22M8.8%2012.2l2.3%202.3%204.2-4.4%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-clock: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.8%22%2F%3E%3Cpath%20d%3D%22M12%207.2V12l3.2%202%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-tag: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3.5%2012.2V4.5a1%201%200%200%201%201-1h7.7l8.3%208.3a1%201%200%200%201%200%201.4l-7.3%207.3a1%201%200%200%201-1.4%200l-8.3-8.3z%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%221.4%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-linen: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%207.5h16M4%2012h16M4%2016.5h10%22%2F%3E%3Cpath%20d%3D%22M18%2014.5l.8%201.7%201.7.8-1.7.8-.8%201.7-.8-1.7-1.7-.8%201.7-.8z%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-chat: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4.5%205h15a1%201%200%200%201%201%201v9.5a1%201%200%200%201-1%201H10l-4.6%203.6V16.5h-.9a1%201%200%200%201-1-1V6a1%201%200%200%201%201-1z%22%2F%3E%3Cpath%20d%3D%22M8.5%209.5h7M8.5%2012.5h4.5%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-pin: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s-6.8-6-6.8-11.2a6.8%206.8%200%200%201%2013.6%200C18.8%2015%2012%2021%2012%2021z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.8%22%20r%3D%222.4%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-hotel: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2020V5.5a1%201%200%200%201%201-1h9a1%201%200%200%201%201%201V20M15%2010h4a1%201%200%200%201%201%201v9M2.5%2020h19%22%2F%3E%3Cpath%20d%3D%22M8%208.5h3M8%2012h3M8%2015.5h3%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-mat: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223.5%22%20y%3D%228%22%20width%3D%2217%22%20height%3D%228%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7.5%208v8M3.5%2019.5h17%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-check: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.8l4.3%204.2L19%207.2%22%20stroke-width%3D%222.4%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-alert: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.8%22%2F%3E%3Cpath%20d%3D%22M12%207.8v5M12%2016.2v.3%22%20stroke-width%3D%222.2%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-whatsapp: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.4%2011.7a8.4%208.4%200%200%201-12.5%207.4L3.6%2020.4l1.3-4.2A8.4%208.4%200%201%201%2020.4%2011.7z%22%2F%3E%3Cpath%20d%3D%22M9.2%208.2c-.4%202.9%202.9%206.7%206.3%206.8l.9-1.5-2-1.2-1%20.8c-1-.5-2.1-1.6-2.6-2.7l.8-1-1.1-2-1.3.8z%22%20fill%3D%22%23000%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-plus: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22%20stroke-width%3D%222.4%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-clock-img: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23b8741a%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.8%22%2F%3E%3Cpath%20d%3D%22M12%207.2V12l3.2%202%22%2F%3E%3C%2Fsvg%3E");
	--tmd-i-plus-img: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2318203b%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%205v14M5%2012h14%22%20stroke-width%3D%222.4%22%2F%3E%3C%2Fsvg%3E");
	--tmd-arch-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20560%20700%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M40%20700V300C40%20170%20150%2095%20280%2020C410%2095%20520%20170%20520%20300V700Z%22%2F%3E%3C%2Fsvg%3E");
}
.tmd-ico--lotus { --tmd-i: var(--tmd-i-lotus); }
.tmd-ico--shield { --tmd-i: var(--tmd-i-shield); }
.tmd-ico--clock { --tmd-i: var(--tmd-i-clock); }
.tmd-ico--tag { --tmd-i: var(--tmd-i-tag); }
.tmd-ico--linen { --tmd-i: var(--tmd-i-linen); }
.tmd-ico--chat { --tmd-i: var(--tmd-i-chat); }
.tmd-ico--pin { --tmd-i: var(--tmd-i-pin); }
.tmd-ico--hotel { --tmd-i: var(--tmd-i-hotel); }
.tmd-ico--mat { --tmd-i: var(--tmd-i-mat); }
.tmd-ico--check { --tmd-i: var(--tmd-i-check); }
.tmd-ico--alert { --tmd-i: var(--tmd-i-alert); }
.tmd-ico--whatsapp { --tmd-i: var(--tmd-i-whatsapp); }
.tmd-ico--plus { --tmd-i: var(--tmd-i-plus); }

[class*="tmd-ico--"]::before {
	content: "";
	display: block;
	width: 26px;
	height: 26px;
	background: currentColor;
	-webkit-mask: var(--tmd-i) center / contain no-repeat;
	mask: var(--tmd-i) center / contain no-repeat;
}

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.tmd-header {
	background: rgba(24, 32, 59, 0.94);
	backdrop-filter: saturate(140%) blur(10px);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	color: #fff;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.tmd-header__bar.tmd-header__bar {
	max-width: 1200px;
	margin-inline: auto;
	padding: 14px var(--tmd-gutter);
	box-sizing: content-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.tmd-header__bar.tmd-header__bar > * { margin: 0; }
.tmd-logo img { height: 46px; width: auto; display: block; }
.tmd-header__end.tmd-header__end { display: flex; align-items: center; gap: 28px; }
.tmd-header__end.tmd-header__end > * { margin: 0; }
.tmd-nav { font-size: 0.9688rem; font-weight: 600; }
.tmd-nav .wp-block-navigation-item__content { color: #dfe3ee; text-decoration: none; padding-block: 6px; }
.tmd-nav .wp-block-navigation-item__content:hover { color: var(--tmd-saffron); }
.tmd-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--tmd-saffron); }
.tmd-nav .wp-block-navigation__responsive-container-open { color: #fff; }
.tmd-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--tmd-indigo) !important;
	color: #fff !important;
	padding: 24px var(--tmd-gutter);
}
.tmd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--tmd-serif);
	font-size: 1.75rem;
	font-weight: 500;
	color: #fff;
}
@media (max-width: 640px) {
	.tmd-header__book.tmd-header__book { display: none; }
	.tmd-logo img { height: 40px; }
}

/* ---------- Hero ---------- */
.tmd-hero.tmd-hero {
	padding-block: clamp(48px, 7vw, 96px) clamp(56px, 7vw, 88px);
	overflow: hidden;
	isolation: isolate;
}
.tmd-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(60% 70% at 85% 30%, rgba(46, 124, 112, 0.35), transparent 70%);
}
.tmd-hero__grid.tmd-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
}
.tmd-hero__grid.tmd-hero__grid > * { margin: 0; }
.tmd-hero__copy.tmd-hero__copy > * + * { margin-top: 24px; }
.tmd-hero h1 {
	font-size: clamp(2.6rem, 1.4rem + 4.6vw, 5.1rem);
	line-height: 1.02;
	letter-spacing: -0.022em;
	font-weight: 480;
}
.tmd-hero__lead { font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem); line-height: 1.65; color: #c4cadb; max-width: 36em; }
.tmd-live.tmd-live {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 14px 7px 12px;
	border-radius: 999px;
	background: rgba(46, 124, 112, 0.28);
	border: 1px solid rgba(118, 196, 181, 0.35);
	color: #cfeee7;
	font-size: 0.875rem;
	font-weight: 600;
}
.tmd-live::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #5fd3a8;
	box-shadow: 0 0 0 0 rgba(95, 211, 168, 0.7);
	animation: tmd-pulse 2.2s infinite;
}
@keyframes tmd-pulse {
	70% { box-shadow: 0 0 0 10px rgba(95, 211, 168, 0); }
	100% { box-shadow: 0 0 0 0 rgba(95, 211, 168, 0); }
}
.tmd-hero__copy .wp-block-buttons { gap: 14px; padding-top: 8px; }
.tmd-hero__art.tmd-hero__art { position: relative; max-width: 480px; justify-self: center; width: 100%; }
.tmd-hero__art figure, .tmd-hero__art .wp-block-image { margin: 0; }
.tmd-hero__art img { width: 100%; height: auto; display: block; }
.tmd-arch img { -webkit-mask: var(--tmd-arch-mask) center / 100% 100% no-repeat; mask: var(--tmd-arch-mask) center / 100% 100% no-repeat; aspect-ratio: 4 / 5; object-fit: cover; }
.tmd-hero__badge.tmd-hero__badge {
	position: absolute;
	left: -18px;
	bottom: 12%;
	margin: 0;
	background: #fff;
	color: var(--tmd-ink);
	border-radius: 16px;
	padding: 14px 20px 14px 68px;
	font-size: 0.875rem;
	line-height: 1.35;
	font-weight: 600;
	color: var(--tmd-muted);
	max-width: 250px;
	box-shadow: 0 24px 40px -18px rgba(8, 12, 28, 0.6);
}
.tmd-hero__badge::before {
	content: "";
	position: absolute;
	left: 16px;
	top: 50%;
	margin-top: -19px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--tmd-saffron-soft) center / 22px no-repeat var(--tmd-i-clock-img);
}
.tmd-hero__badge strong { display: block; font-family: var(--tmd-serif); font-size: 1.375rem; font-weight: 600; color: var(--tmd-indigo); white-space: nowrap; }
@media (max-width: 900px) {
	.tmd-hero__grid.tmd-hero__grid { grid-template-columns: 1fr; }
	.tmd-hero__art.tmd-hero__art { max-width: 300px; }
	.tmd-hero__badge.tmd-hero__badge { left: -8px; }
}

/* ---------- Trust bar ---------- */
.tmd-trust.tmd-trust { background: var(--tmd-indigo-deep); padding-block: 22px; color: #dfe3ee; }
.tmd-trust ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 14px 28px;
	font-size: 0.9375rem;
	font-weight: 600;
}
.tmd-trust li { display: flex; align-items: center; gap: 10px; margin: 0; }
.tmd-trust li::before {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: var(--tmd-saffron);
	-webkit-mask: var(--tmd-i-check) center / contain no-repeat;
	mask: var(--tmd-i-check) center / contain no-repeat;
}
@media (max-width: 640px) { .tmd-trust ul { display: grid; grid-template-columns: 1fr 1fr; } }

/* ---------- Price menu ---------- */
.tmd-menu.tmd-menu { border-top: 1px solid var(--tmd-line); }
.tmd-menu.tmd-menu > * { margin: 0; }
.tmd-menu__row.tmd-menu__row {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 190px 150px;
	align-items: center;
	gap: 12px 32px;
	padding: 28px 24px;
	border-bottom: 1px solid var(--tmd-line);
	position: relative;
}
.tmd-menu__row.tmd-menu__row > * { margin: 0; }
.tmd-menu__row .wp-block-buttons { justify-content: flex-end; }
.tmd-menu__row.is-featured { background: #fff; border-radius: var(--tmd-radius); border: 1px solid transparent; box-shadow: 0 0 0 2px var(--tmd-saffron); margin-block: -1px; }
.tmd-menu__dur { font-family: var(--tmd-serif); font-size: 1.125rem; color: var(--tmd-muted); line-height: 1.1; }
.tmd-menu__dur strong { display: block; font-size: clamp(2.4rem, 2rem + 1.4vw, 3.25rem); font-weight: 450; color: var(--tmd-indigo); letter-spacing: -0.02em; }
.tmd-menu__desc { color: var(--tmd-ink); max-width: 34em; }
.tmd-menu__tag.tmd-menu__tag {
	position: absolute;
	top: -13px;
	left: 24px;
	background: var(--tmd-saffron);
	color: var(--tmd-indigo);
	font-size: 0.8125rem;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 999px;
}
.tmd-menu__price { text-align: right; font-family: var(--tmd-serif); font-size: clamp(1.9rem, 1.6rem + 1vw, 2.5rem); font-weight: 500; color: var(--tmd-indigo); white-space: nowrap; letter-spacing: -0.01em; }
.tmd-menu__price span, .tmd-menu__price .tmd-cur { font-family: var(--tmd-sans); font-size: 0.875rem; font-weight: 700; color: var(--tmd-jade); margin-right: 4px; vertical-align: 0.9em; letter-spacing: 0.04em; }
@media (max-width: 760px) {
	.tmd-menu__row.tmd-menu__row { grid-template-columns: 1fr auto; padding-block: 24px; }
	.tmd-menu__desc { grid-column: 1 / -1; grid-row: 2; }
	.tmd-menu__row .wp-block-buttons { grid-column: 1 / -1; }
	.tmd-menu__row.tmd-menu__row { padding-inline: 16px; }
	.tmd-menu__row .wp-block-buttons { justify-content: flex-start; }
}
.tmd-note.tmd-note { margin-top: 32px; max-width: 760px; color: var(--tmd-muted); }
.tmd-note + .wp-block-buttons { margin-top: 24px; }

/* ---------- Steps ---------- */
.tmd-steps.tmd-steps { list-style: none; counter-reset: step; margin: 0; padding: 0; position: relative; }
.tmd-steps li {
	counter-increment: step;
	position: relative;
	padding: 0 0 36px 76px;
	margin: 0;
	color: var(--tmd-muted);
	font-size: 1.0625rem;
}
.tmd-steps li:last-child { padding-bottom: 0; }
.tmd-steps li::before {
	content: counter(step);
	position: absolute;
	left: 0;
	top: -4px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-family: var(--tmd-serif);
	font-size: 1.375rem;
	font-weight: 500;
	color: var(--tmd-indigo);
	background: var(--tmd-saffron-soft);
	border: 1.5px solid var(--tmd-saffron);
}
.tmd-steps li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 25px;
	top: 52px;
	bottom: 4px;
	border-left: 1.5px dashed rgba(232, 163, 61, 0.55);
}
.tmd-steps strong { display: block; font-family: var(--tmd-serif); font-size: 1.375rem; font-weight: 500; color: var(--tmd-indigo); margin-bottom: 6px; }

/* ---------- Lists with icons ---------- */
.tmd-list.tmd-list { list-style: none; padding: 0; margin-inline: 0; margin-bottom: 0; }
.tmd-list li { position: relative; padding-left: 34px; margin: 0 0 12px; }
.tmd-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 20px;
	height: 20px;
	background: var(--tmd-jade);
	-webkit-mask: var(--tmd-i-check) center / contain no-repeat;
	mask: var(--tmd-i-check) center / contain no-repeat;
}
.tmd-list--care li::before { background: #c0703a; -webkit-mask-image: var(--tmd-i-alert); mask-image: var(--tmd-i-alert); }
.tmd-sec--dark .tmd-list li::before { background: var(--tmd-saffron); }

/* ---------- Callout ---------- */
.tmd-callout.tmd-callout {
	margin-top: clamp(20px, 3vw, 32px);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px 22px;
	align-items: start;
	background: var(--tmd-indigo);
	color: #dfe3ee;
	border-radius: var(--tmd-radius);
	padding: clamp(24px, 3vw, 36px);
}
.tmd-callout.tmd-callout > * { margin: 0; grid-column: 2; }
.tmd-callout::before { grid-row: 1 / span 3; grid-column: 1; color: var(--tmd-saffron); width: 34px; height: 34px; }
.tmd-callout h3 { color: #fff; }
.tmd-callout--light.tmd-callout--light { background: var(--tmd-saffron-soft); color: var(--tmd-ink); }
.tmd-callout--light::before { color: #b8741a; }

/* ---------- Areas ---------- */
.tmd-area.tmd-area {
	border-radius: var(--tmd-radius);
	padding: 26px 26px 24px;
	background: var(--tmd-porcelain);
	border: 1px solid transparent;
	transition: border-color 0.2s;
}
.tmd-area.tmd-area > * + * { margin-top: 10px; }
.tmd-area::before { color: var(--tmd-jade); margin-bottom: 14px; }
.tmd-area h3 { font-size: 1.3125rem; }
.tmd-area p { color: var(--tmd-muted); font-size: 0.9688rem; }
.tmd-area a { color: inherit; text-decoration-color: rgba(46, 124, 112, 0.45); text-underline-offset: 3px; }
.tmd-area a:hover { color: var(--tmd-jade); }
.tmd-area--all.tmd-area--all { background: var(--tmd-jade); color: #fff; }
.tmd-area--all h3, .tmd-area--all p { color: #fff; }
.tmd-area--all::before { color: var(--tmd-saffron); }

/* ---------- Editorial (What is Thai massage) ---------- */
.tmd-prose.tmd-prose > * + * { margin-top: 20px; }
.tmd-prose p { font-size: 1.0938rem; line-height: 1.75; }
.tmd-facts.tmd-facts { display: grid; gap: 16px; }
.tmd-facts.tmd-facts > * { margin: 0; }
.tmd-fact {
	background: #fff;
	border-radius: var(--tmd-radius);
	padding: 24px 26px;
	border-left: 4px solid var(--tmd-saffron);
	color: var(--tmd-muted);
	font-size: 0.9688rem;
}
.tmd-fact strong { display: block; font-family: var(--tmd-serif); font-size: 2.5rem; font-weight: 450; color: var(--tmd-indigo); line-height: 1.1; margin-bottom: 4px; }
.tmd-techniques.tmd-techniques { margin-top: clamp(40px, 5vw, 64px); }

/* ---------- Features ---------- */
.tmd-feature.tmd-feature { padding: 30px 28px; border-radius: var(--tmd-radius); background: rgba(255, 255, 255, 0.04); border: 1px solid rgba(255, 255, 255, 0.09); }
.tmd-feature.tmd-feature > * + * { margin-top: 12px; }
.tmd-feature::before { color: var(--tmd-saffron); width: 30px; height: 30px; margin-bottom: 18px; }
.tmd-feature h3 { font-size: 1.375rem; }
.tmd-feature p { color: #b9c0d3; font-size: 0.9688rem; line-height: 1.65; }

/* ---------- Benefits ---------- */
.tmd-benefit.tmd-benefit { border-top: 2px solid var(--tmd-jade); padding-top: 22px; }
.tmd-benefit.tmd-benefit > * + * { margin-top: 12px; }
.tmd-benefit h3 { font-size: 1.5rem; }
.tmd-benefit p { color: var(--tmd-muted); }
.tmd-disclaimer.tmd-disclaimer { margin-top: 36px; font-size: 0.875rem; color: var(--tmd-muted); max-width: 760px; padding: 16px 20px; border-radius: 14px; background: var(--tmd-porcelain); }

/* ---------- Fit / not fit ---------- */
.tmd-fit.tmd-fit { border-radius: var(--tmd-radius); padding: clamp(26px, 3vw, 40px); background: #fff; }
.tmd-fit.tmd-fit > * + * { margin-top: 18px; }
.tmd-fit--yes.tmd-fit--yes { background: var(--tmd-jade); color: #eaf5f2; }
.tmd-fit--yes h3 { color: #fff; }
.tmd-fit--yes .tmd-list li::before { background: var(--tmd-saffron); }
.tmd-fit--care { border: 1.5px solid #e6c9b1; }
.tmd-fit p { font-size: 0.9688rem; color: var(--tmd-muted); }

/* ---------- Comparison table ---------- */
.tmd-compare { margin: 0; overflow-x: auto; }
.tmd-compare table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 560px; font-size: 1rem; }
.tmd-compare th, .tmd-compare td { border: 0; border-bottom: 1px solid var(--tmd-line); padding: 18px 20px; text-align: left; vertical-align: top; }
.tmd-compare thead th { font-family: var(--tmd-serif); font-weight: 500; font-size: 1.1875rem; color: var(--tmd-indigo); border-bottom: 2px solid var(--tmd-indigo); }
.tmd-compare tbody th { font-weight: 700; color: var(--tmd-indigo); width: 22%; }
.tmd-compare td:nth-child(2), .tmd-compare th:nth-child(2) { background: var(--tmd-jade-soft); }
.tmd-compare thead th:nth-child(2) { border-radius: 16px 16px 0 0; background: var(--tmd-jade); color: #fff; border-bottom-color: var(--tmd-jade); }
.tmd-compare td:nth-child(3) { color: var(--tmd-muted); }
@media (max-width: 640px) {
	.tmd-compare table { min-width: 0; font-size: 0.875rem; }
	.tmd-compare th, .tmd-compare td { padding: 12px 10px; }
	.tmd-compare thead th { font-size: 0.9375rem; }
	.tmd-compare tbody th { width: 26%; }
}

/* ---------- Founder ---------- */
.tmd-founder.tmd-founder { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.tmd-founder.tmd-founder > * { margin: 0; }
.tmd-founder figure { margin: 0; max-width: 400px; }
.tmd-founder img { width: 100%; height: auto; display: block; }
.tmd-founder__text.tmd-founder__text > * + * { margin-top: 20px; }
.tmd-founder__text p { color: #c4cadb; font-size: 1.0938rem; line-height: 1.75; }
.tmd-founder__text .tmd-principles { font-family: var(--tmd-serif); font-size: 1.375rem; line-height: 1.45; color: #fff; border-left: 3px solid var(--tmd-saffron); padding-left: 22px; }
.tmd-link a { font-weight: 700; text-underline-offset: 4px; }
@media (max-width: 800px) { .tmd-founder.tmd-founder { grid-template-columns: 1fr; } .tmd-founder figure { max-width: 300px; } }

/* ---------- FAQ ---------- */
.tmd-faq.tmd-faq > * { margin: 0; }
.tmd-faq .wp-block-details {
	border-bottom: 1px solid var(--tmd-line);
	padding: 0;
}
.tmd-faq .wp-block-details:first-child { border-top: 1px solid var(--tmd-line); }
.tmd-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 48px 22px 0;
	position: relative;
	font-family: var(--tmd-serif);
	font-size: clamp(1.125rem, 1.05rem + 0.3vw, 1.3125rem);
	font-weight: 500;
	color: var(--tmd-indigo);
	line-height: 1.35;
}
.tmd-faq summary::-webkit-details-marker { display: none; }
.tmd-faq summary::after {
	content: "";
	position: absolute;
	right: 4px;
	top: 50%;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	border-radius: 50%;
	background: var(--tmd-saffron-soft) center / 14px no-repeat var(--tmd-i-plus-img);
	transition: transform 0.25s var(--tmd-ease);
}
.tmd-faq details[open] summary::after { transform: rotate(45deg); }
.tmd-faq details > :not(summary) { margin: 0 0 22px; color: var(--tmd-muted); max-width: 44em; }

/* ---------- CTA band ---------- */
.tmd-cta.tmd-cta { text-align: center; overflow: hidden; isolation: isolate; }
.tmd-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../img/sen-waves.svg") center / cover no-repeat; opacity: 0.9; }
.tmd-cta .tmd-wrap > * { margin-inline: auto; max-width: 680px; }
.tmd-cta .tmd-wrap.tmd-wrap > * + * { margin-top: 20px; }
.tmd-cta h2 { font-size: clamp(2.2rem, 1.6rem + 2.4vw, 3.75rem); }
.tmd-cta p { color: #c4cadb; font-size: 1.125rem; }
.tmd-cta .wp-block-buttons { justify-content: center; padding-top: 10px; }

/* ---------- Page header (simple pages, blog, archives) ---------- */
.tmd-pagehead.tmd-pagehead { background: var(--tmd-indigo); color: #e9ecf3; padding-block: clamp(48px, 7vw, 88px); }
.tmd-pagehead.tmd-pagehead h1 { color: #fff; font-size: clamp(2.2rem, 1.5rem + 2.6vw, 3.75rem); max-width: 18em; }
.tmd-pagehead .tmd-wrap.tmd-wrap > * + * { margin-top: 16px; }
.tmd-pagehead p, .tmd-pagehead .wp-block-post-date, .tmd-pagehead .wp-block-term-description { color: #b9c0d3; }
.tmd-pagehead a { color: var(--tmd-saffron); }
.tmd-meta.tmd-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 0.9375rem; color: #b9c0d3; }
.tmd-meta.tmd-meta > * { margin: 0; }
.tmd-cats a { display: inline-block; font-size: 0.8125rem; font-weight: 700; text-decoration: none; background: rgba(232, 163, 61, 0.16); color: var(--tmd-saffron); padding: 4px 12px; border-radius: 999px; }
.tmd-body.tmd-body { padding-block: clamp(40px, 6vw, 72px) clamp(56px, 8vw, 96px); }
.tmd-body .wp-block-post-content > * + * { margin-top: 1.3em; }
.tmd-body .wp-block-post-content :where(h2) { margin-top: 1.8em; }
.tmd-body .wp-block-post-content :where(h3) { margin-top: 1.5em; }
.tmd-body .wp-block-post-content :where(p, li) { font-size: 1.125rem; line-height: 1.75; }
.tmd-feature-img.tmd-feature-img { margin-top: clamp(-72px, -6vw, -40px); position: relative; }
.tmd-feature-img img { border-radius: var(--tmd-radius); width: 100%; height: auto; }

/* Blog post end box */
.tmd-postcta.tmd-postcta { max-width: 840px; margin-inline: auto; box-sizing: border-box; margin-top: 56px; background: var(--tmd-indigo); color: #dfe3ee; border-radius: var(--tmd-radius); padding: clamp(28px, 4vw, 44px); }
.tmd-postcta.tmd-postcta > * + * { margin-top: 14px; }
.tmd-postcta h2 { color: #fff; font-size: 1.75rem; margin-top: 0 !important; }

/* Post cards */
.tmd-posts .wp-block-post-template.wp-block-post-template { gap: clamp(20px, 3vw, 32px); grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .tmd-posts .wp-block-post-template.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .tmd-posts .wp-block-post-template.wp-block-post-template { grid-template-columns: 1fr; } }
.tmd-post.tmd-post { background: #fff; border-radius: var(--tmd-radius); overflow: hidden; border: 1px solid var(--tmd-line); height: 100%; display: flex; flex-direction: column; }
.tmd-post.tmd-post > * { margin: 0; }
.tmd-post .wp-block-post-featured-image { margin: 0; }
.tmd-post .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.tmd-post__body.tmd-post__body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.tmd-post__body.tmd-post__body > * { margin: 0; }
.tmd-post h2, .tmd-post h3 { font-size: 1.375rem; line-height: 1.25; }
.tmd-post h2 a, .tmd-post h3 a { color: var(--tmd-indigo); text-decoration: none; }
.tmd-post h2 a:hover, .tmd-post h3 a:hover { color: var(--tmd-jade); }
.tmd-post .wp-block-post-excerpt { color: var(--tmd-muted); font-size: 0.9688rem; }
.tmd-post .wp-block-post-excerpt__more-text { display: none; }
.tmd-post .wp-block-post-date { font-size: 0.8438rem; color: var(--tmd-muted); }
.tmd-posts .wp-block-query-pagination { margin-top: 40px; font-weight: 600; }

/* ---------- Footer ---------- */
.tmd-footer.tmd-footer { background: var(--tmd-indigo-deep); color: #b9c0d3; padding-block: clamp(56px, 7vw, 88px) 28px; font-size: 0.9688rem; }
.tmd-footer__grid.tmd-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.tmd-footer__grid.tmd-footer__grid > * { margin: 0; }
.tmd-footer__col.tmd-footer__col > * + * { margin-top: 12px; }
.tmd-footer h2, .tmd-footer h3 { color: #fff; font-family: var(--tmd-sans); font-size: 1rem; font-weight: 700; }
.tmd-footer a:where(:not(.wp-element-button)) { color: #dfe3ee; text-decoration: none; }
.tmd-footer a:where(:not(.wp-element-button)):hover { color: var(--tmd-saffron); }
.tmd-footer ul { list-style: none; padding: 0; margin: 0; }
.tmd-footer li { margin: 0 0 10px; }
.tmd-footer .tmd-logo img { height: 52px; }
.tmd-footer__base.tmd-footer__base { margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 0.875rem; }
.tmd-footer__base.tmd-footer__base > * { margin: 0; }
@media (max-width: 900px) { .tmd-footer__grid.tmd-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .tmd-footer__grid.tmd-footer__grid { grid-template-columns: 1fr; } }

/* Mobile booking bar */
.tmd-mobilebar.tmd-mobilebar { display: none; }
@media (max-width: 640px) {
	.tmd-mobilebar.tmd-mobilebar {
		display: block;
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: 12px;
		z-index: 60;
		margin: 0;
	}
	.tmd-mobilebar .wp-block-button, .tmd-mobilebar .wp-block-button__link { width: 100%; justify-content: center; }
	.tmd-mobilebar .wp-block-button__link { box-shadow: 0 16px 30px -12px rgba(8, 12, 28, 0.55); padding-block: 15px; }
	body { padding-bottom: 76px; }
}

/* ---------- 404 ---------- */
.tmd-404.tmd-404 { text-align: center; min-height: 50vh; display: grid; place-items: center; }
.tmd-404 .tmd-wrap > * { margin-inline: auto; max-width: 560px; }
.tmd-404 .wp-block-buttons { justify-content: center; }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
	.tmd-live::before { animation: none; }
	.wp-block-button__link, .tmd-faq summary::after { transition: none; }
}

/* ---------- Editor tweaks ---------- */
.editor-styles-wrapper .tmd-split__aside, .editor-styles-wrapper .tmd-header { position: relative; top: auto; }
.editor-styles-wrapper .tmd-mobilebar { display: block; position: static; }
.editor-styles-wrapper .tmd-menu__price { white-space: normal; font-size: 1rem; font-family: var(--tmd-sans); }
