/*
Theme Name:   大立大飯店 Astra Child
Description:  大立大飯店（Ta Lee Hotel）網站用的 Astra 子主題。
Author:       大立大飯店
Template:     astra
Version:      0.1.0
Requires PHP: 8.1
Text Domain:  astra-child-talee
*/

/* ==========================================================================
   設計基準：米白底、赤崁朱紅強調、標題 Noto Serif TC、內文 Noto Sans TC
   顏色取自 Astra 全域色票（外觀 > 自訂 > 全域 > 色彩），這裡只做對應。
   ========================================================================== */
:root {
	--talee-red: var(--ast-global-color-0, #a23b2a);
	--talee-red-dark: var(--ast-global-color-1, #7e2c1f);
	--talee-ink: var(--ast-global-color-2, #2b2420);
	--talee-text: var(--ast-global-color-3, #4a423c);
	--talee-card: var(--ast-global-color-4, #fffdf9);
	--talee-bg: var(--ast-global-color-5, #faf7f2);
	--talee-line: var(--ast-global-color-6, #e6ddd0);
	--talee-dark: var(--ast-global-color-7, #1f1a17);
	--talee-gold: var(--ast-global-color-8, #b08d57);
	--talee-muted: #6b625b;
	--talee-line-green: #05823f; /* LINE 綠加深，白字對比 4.9:1（WCAG AA） */
	--talee-radius: 16px;
	--talee-shadow: 0 10px 30px rgba(43, 36, 32, 0.08);
	--talee-gutter: clamp(16px, 4vw, 32px);
}

body {
	background-color: var(--talee-bg);
	color: var(--talee-text);
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--talee-ink);
	letter-spacing: 0.02em;
	line-height: 1.35;
	/* 中文標題只在標點與空格處換行（不拆詞），太長時才任意斷行 */
	word-break: keep-all;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.entry-content p {
	text-wrap: pretty;
}

a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--talee-gold);
	outline-offset: 3px;
}

/* ---------- 頁首 ---------- */
.ast-primary-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar {
	background-color: var(--talee-card);
	border-bottom: 1px solid var(--talee-line);
}

.site-title,
.site-title a,
.site-title a:hover {
	font-family: 'Noto Serif TC', serif;
	font-weight: 700;
	font-size: 22px;
	color: var(--talee-ink);
	letter-spacing: 0.08em;
}

.main-header-menu .menu-link {
	color: var(--talee-ink);
	font-weight: 500;
}

.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .current-menu-item > .menu-link {
	color: var(--talee-red);
}

.ast-header-button-1 .ast-custom-button {
	background-color: var(--talee-line-green);
	color: #fff;
	border-radius: 999px;
	padding: 10px 22px;
	font-weight: 700;
}

.ast-header-button-1 .ast-custom-button:hover {
	background-color: #046e35;
	color: #fff;
}

/* 語言切換（Polylang 選單項目） */
.main-header-menu .pll-parent-menu-item .sub-menu {
	min-width: 140px;
}

/* ---------- 首頁共用 ---------- */
.home .site-content > .ast-container {
	padding: 0;
	max-width: none;
}

.home .site-content #primary {
	margin: 0;
}

.home .entry-content > .alignfull {
	margin-top: 0;
	margin-bottom: 0;
}

.talee-section {
	padding: clamp(56px, 8vw, 104px) var(--talee-gutter);
}

/* 各區塊的標題、內文與寬版內容都對齊同一個內容寬度 */
.talee-section.is-layout-constrained > .alignwide {
	max-width: var(--wp--style--global--content-size);
}

.talee-section h2 {
	font-size: clamp(26px, 3.4vw, 40px);
	margin-bottom: 0.6em;
}

.talee-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: var(--talee-red);
}

.talee-eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: currentColor;
}

.talee-section-lead {
	font-size: 18px;
}

.talee-note {
	font-size: 14px;
	color: var(--talee-muted);
}

mark.talee-tbc {
	background: #fff1c2;
	color: #6b4e00;
	padding: 0 0.4em;
	border-radius: 4px;
	font-size: 0.9em;
	font-weight: 700;
}

/* 按鈕（選擇器要比 Astra 內建的外框按鈕規則更明確） */
.entry-content .wp-block-buttons .wp-block-button .wp-block-button__link.wp-element-button {
	border-radius: 999px;
	padding: 14px 30px;
	font-weight: 700;
	font-size: 17px;
	line-height: 1.4;
	background-color: var(--talee-red);
	color: #fff;
	border: 2px solid transparent;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.entry-content .wp-block-buttons .wp-block-button .wp-block-button__link.wp-element-button:hover {
	background-color: var(--talee-red-dark);
	color: #fff;
}

.entry-content .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	background: transparent;
	color: var(--talee-red);
	border-color: currentColor;
}

.entry-content .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover {
	background: var(--talee-red);
	color: #fff;
	border-color: var(--talee-red);
}

.entry-content .wp-block-buttons .wp-block-button.talee-btn-line > .wp-block-button__link {
	background-color: var(--talee-line-green);
}

.entry-content .wp-block-buttons .wp-block-button.talee-btn-line > .wp-block-button__link:hover {
	background-color: #046e35;
}

.entry-content ul.talee-facts,
.entry-content ul.talee-spots,
.entry-content ul.talee-chips {
	padding-left: 0;
	margin-left: 0;
}

/* 左圖右文（或反過來）的兩欄 */
.talee-split {
	gap: clamp(28px, 5vw, 72px);
}

.talee-photo img,
.talee-photo-placeholder {
	border-radius: 20px;
	box-shadow: var(--talee-shadow);
}

.talee-photo img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.talee-photo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	background: repeating-linear-gradient(135deg, #efe7dc 0 14px, #f6f0e7 14px 28px);
	border: 2px dashed #cdbfab;
	box-shadow: none;
}

.talee-photo-placeholder p {
	margin: 0;
	font-weight: 700;
	color: var(--talee-muted);
}

.talee-facts {
	list-style: none;
	padding: 0;
	margin: 1.2em 0 0;
}

.talee-facts li {
	padding: 10px 0;
	border-bottom: 1px dashed var(--talee-line);
}

/* ---------- 1. 主視覺 ---------- */
.talee-hero.wp-block-cover {
	padding: 120px var(--talee-gutter) 140px;
	align-items: flex-end;
}

.talee-hero .wp-block-cover__background.has-background-dim {
	background: linear-gradient(90deg, rgba(31, 26, 23, 0.82) 0%, rgba(31, 26, 23, 0.5) 45%, rgba(31, 26, 23, 0.08) 85%) !important;
	opacity: 1 !important;
}

.talee-hero .wp-block-cover__inner-container {
	max-width: var(--wp--custom--ast-content-width-size, 1200px);
	margin: 0 auto;
	width: 100%;
}

.talee-hero .wp-block-cover__inner-container > * {
	max-width: 640px;
	margin-left: 0 !important;
	margin-right: auto !important;
}

/* Astra 對覆蓋區塊內的段落有較高優先的文字色，這裡要更明確才能蓋過 */
body .talee-hero.wp-block-cover .wp-block-cover__inner-container p.talee-eyebrow {
	color: #f3d9a4;
}

body .talee-hero.wp-block-cover .wp-block-cover__inner-container p.talee-hero-lead {
	color: rgba(255, 255, 255, 0.92);
}

.entry-content .talee-hero h1.talee-hero-title {
	color: #fff;
	font-size: clamp(38px, 6vw, 66px);
	line-height: 1.22;
	margin-bottom: 0.4em;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25);
}

.talee-hero-lead {
	font-size: clamp(16px, 1.6vw, 19px);
	margin-bottom: 1.6em;
}

.talee-hero .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color),
.talee-cta .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.85);
}

.talee-hero .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover,
.talee-cta .wp-block-buttons .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover {
	background: #fff;
	color: var(--talee-ink);
	border-color: #fff;
}

/* ---------- 2. 四大賣點（壓在主視覺下緣） ---------- */
.talee-highlights.talee-section {
	padding-top: 0;
	padding-bottom: clamp(24px, 4vw, 48px);
}

/* 格線的欄寬計算會用到 --wp--style--block-gap，所以間距要用同一個值設定 */
.talee-hl-grid {
	position: relative;
	z-index: 2;
	margin-top: -72px !important;
	--wp--style--block-gap: 16px;
	gap: 16px;
}

.talee-hl {
	background: var(--talee-card);
	border: 1px solid var(--talee-line);
	border-radius: var(--talee-radius);
	padding: 28px 24px 24px;
	box-shadow: var(--talee-shadow);
}

.talee-hl::before {
	content: "";
	display: block;
	width: 44px;
	height: 44px;
	margin-bottom: 14px;
	border-radius: 12px;
	background-color: #f6e6e1;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px;
}

.talee-hl-location::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a23b2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.1-7-11.5a7 7 0 0 1 14 0C19 14.9 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
}

.talee-hl-breakfast::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a23b2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h13v3a6 6 0 0 1-6 6h-1a6 6 0 0 1-6-6z'/%3E%3Cpath d='M17 11h1.5a2.5 2.5 0 0 1 0 5H16'/%3E%3Cpath d='M8 3v3M12 3v3'/%3E%3C/svg%3E");
}

.talee-hl-parking::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a23b2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='4'/%3E%3Cpath d='M9 17V7h4a3 3 0 0 1 0 6H9'/%3E%3C/svg%3E");
}

.talee-hl-renovated::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a23b2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.9 4.6L19 8.3l-3.8 3.4 1 5.1L12 14.3 7.8 16.8l1-5.1L5 8.3l5.1-.7z'/%3E%3C/svg%3E");
}

.talee-section .talee-hl h2 {
	font-size: 20px;
	margin-bottom: 6px;
}

.talee-hl p {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
}

/* ---------- 4. 房型 ---------- */
.talee-rooms {
	background: var(--talee-card);
	border-top: 1px solid var(--talee-line);
	border-bottom: 1px solid var(--talee-line);
}

.talee-room-grid {
	--wp--style--block-gap: 24px;
	gap: 24px;
	margin-top: 32px !important;
}

.talee-room-grid-full {
	margin-top: 0 !important;
}

.talee-room-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--talee-line);
	border-radius: var(--talee-radius);
	overflow: hidden;
	transition: transform 0.2s, box-shadow 0.2s;
}

.talee-room-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--talee-shadow);
}

.talee-room-card > * {
	margin-left: 20px !important;
	margin-right: 20px !important;
}

.talee-room-card > .talee-room-photo {
	margin: 0 0 16px !important;
}

.talee-room-photo img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.talee-section .talee-room-card h2,
.talee-room-card h3 {
	font-size: 20px;
	margin-top: 0;
	margin-bottom: 4px;
}

.entry-content .talee-room-card h2 a,
.entry-content .talee-room-card h3 a {
	color: var(--talee-ink);
	text-decoration: none;
}

.entry-content .talee-room-card h2 a:hover,
.entry-content .talee-room-card h3 a:hover {
	color: var(--talee-red);
}

.talee-room-meta {
	font-size: 15px;
	color: var(--talee-muted);
	margin-bottom: 20px !important;
}

.talee-notice {
	margin-top: 32px !important;
	padding: 16px 20px;
	border-left: 4px solid var(--talee-gold);
	background: #fbf4e6;
	border-radius: 8px;
}

.talee-notice p {
	margin: 0;
	font-size: 15px;
}

.talee-notice a {
	color: var(--talee-red);
	font-weight: 700;
}

/* ---------- 6. 停車：文字在左、圖在右 ---------- */
.talee-parking {
	background: var(--talee-card);
	border-top: 1px solid var(--talee-line);
}

/* ---------- 7. 周邊景點 ---------- */
.talee-spots {
	list-style: none;
	padding: 0;
	margin: 0 0 12px;
}

.talee-spots li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px dashed var(--talee-line);
	font-size: 15px;
	color: var(--talee-muted);
}

.talee-spots strong {
	color: var(--talee-ink);
	font-size: 17px;
}

.talee-map {
	border-radius: var(--talee-radius);
	overflow: hidden;
	box-shadow: var(--talee-shadow);
	aspect-ratio: 4 / 3;
	margin-bottom: 16px;
}

.talee-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---------- 8. 評價 ---------- */
.talee-reviews {
	text-align: center;
}

.talee-reviews .talee-eyebrow {
	justify-content: center;
}

.talee-chips {
	list-style: none;
	padding: 0;
	margin: 8px 0 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.talee-chips li {
	padding: 10px 22px;
	border-radius: 999px;
	background: var(--talee-card);
	border: 1px solid var(--talee-line);
	font-family: 'Noto Serif TC', serif;
	font-size: 18px;
	font-weight: 600;
	color: var(--talee-ink);
}

/* ---------- 9. 結尾 LINE 訂房 ---------- */
.talee-cta {
	background: var(--talee-red);
	text-align: center;
}

.talee-cta h2,
.talee-cta p {
	color: #fff;
}

.talee-cta .wp-block-buttons {
	justify-content: center;
}

.entry-content .wp-block-buttons .wp-block-button.talee-btn-light > .wp-block-button__link {
	background: #fff;
	color: var(--talee-red-dark);
}

.entry-content .wp-block-buttons .wp-block-button.talee-btn-light > .wp-block-button__link:hover {
	background: var(--talee-bg);
	color: var(--talee-red-dark);
}

/* ==========================================================================
   內頁共用元件
   ========================================================================== */
.talee-page-header.talee-section {
	padding-top: clamp(48px, 7vw, 88px);
	padding-bottom: clamp(32px, 4vw, 48px);
	background: var(--talee-card);
	border-bottom: 1px solid var(--talee-line);
}

.entry-content .talee-page-header h1 {
	font-size: clamp(32px, 4.6vw, 52px);
	margin: 0 0 0.3em;
}

.talee-page-lead {
	font-size: 18px;
	color: var(--talee-muted);
	margin: 0;
}

.entry-content .talee-eyebrow a {
	color: inherit;
	text-decoration: none;
}

.entry-content .talee-eyebrow a:hover {
	text-decoration: underline;
}

/* 一般卡片（交通方式、景點、消息、訂房步驟） */
.talee-card-grid {
	--wp--style--block-gap: 20px;
	gap: 20px;
	margin-top: 24px !important;
}

.talee-card-grid + .talee-card-grid {
	margin-top: 20px !important;
}

.talee-news.is-layout-constrained > .talee-news-item {
	max-width: 880px;
}

.talee-card {
	background: #fff;
	border: 1px solid var(--talee-line);
	border-radius: var(--talee-radius);
	padding: 24px;
}

.talee-card > :first-child {
	margin-top: 0;
}

.talee-card > :last-child {
	margin-bottom: 0;
}

.talee-section .talee-card h2,
.talee-section .talee-card h3 {
	font-size: 21px;
	margin-bottom: 8px;
}

.talee-card-has-photo {
	padding-top: 0;
	overflow: hidden;
}

.talee-card > .talee-card-photo {
	margin: 0 -24px 18px !important;
}

.talee-card-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.talee-card-meta {
	font-size: 14px;
	font-weight: 700;
	color: var(--talee-red);
	margin-bottom: 8px !important;
}

.talee-news-item + .talee-news-item {
	margin-top: 20px !important;
}

.talee-news-item p {
	font-size: 16px;
}

/* 訂房步驟編號 */
.talee-steps {
	counter-reset: talee-step;
}

.talee-step {
	position: relative;
	padding-top: 64px;
}

.talee-step::before {
	counter-increment: talee-step;
	content: counter(talee-step);
	position: absolute;
	top: 20px;
	left: 24px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--talee-red);
	color: #fff;
	font-weight: 700;
	line-height: 32px;
	text-align: center;
}

.talee-booking .wp-block-buttons {
	margin-top: 28px;
}

/* 房型總覽：卡片加說明文字 */
.talee-room-desc {
	font-size: 15px;
	margin-bottom: 8px !important;
}

.talee-room-link {
	margin-bottom: 20px !important;
	font-weight: 700;
}

.entry-content .talee-room-link a {
	color: var(--talee-red);
	text-decoration: none;
}

.talee-room-card .talee-room-meta:has(+ .talee-room-desc) {
	margin-bottom: 8px !important;
}

/* 房型頁：相簿與設施 */
.talee-room-gallery.talee-section {
	padding-top: 32px;
	padding-bottom: 0;
}

.talee-gallery.wp-block-gallery {
	gap: 12px;
}

/* 每張照片同樣大小、固定比例；最後一排不把照片撐大 */
.talee-gallery.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: 0;
}

.talee-gallery.wp-block-gallery.has-nested-images figure.wp-block-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 12px;
}

.talee-facts-labelled li {
	display: flex;
	gap: 16px;
}

.talee-facts-labelled strong {
	flex: 0 0 8.5em;
	color: var(--talee-ink);
}

.talee-room-details {
	align-items: flex-start !important;
}

.talee-room-info .wp-block-buttons {
	margin-top: 24px;
}

.talee-chips-left {
	justify-content: flex-start;
}

.talee-section .talee-chips-left li {
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	padding: 8px 16px;
}

/* 交通頁 */
.talee-taxi {
	margin-top: 20px !important;
}

@media (min-width: 768px) {
	.entry-content ul.talee-spots-wide {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 48px;
	}
}

.talee-ways .talee-card h3::before {
	content: "";
	display: block;
	width: 36px;
	height: 3px;
	margin-bottom: 12px;
	background: var(--talee-gold);
}

/* ==========================================================================
   英文、泰文
   ========================================================================== */
/* 英文：Latin 字型（fonts/fonts-latin.css）排在中文字型前面，引號與破折號才是半形 */
html[lang^="en"] body,
html[lang^="en"] button,
html[lang^="en"] input,
html[lang^="en"] .main-header-menu .menu-link {
	font-family: 'Noto Sans', 'Noto Sans TC', sans-serif;
}

html[lang^="en"] h1,
html[lang^="en"] h2,
html[lang^="en"] h3,
html[lang^="en"] h4,
html[lang^="en"] .site-title,
html[lang^="en"] .site-title a,
html[lang^="en"] .talee-chips li,
html[lang^="en"] .site-footer .talee-footer-name {
	font-family: 'Noto Serif', 'Noto Serif TC', serif;
	letter-spacing: 0;
}

html[lang^="en"] .talee-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.14em;
}

/* 泰文：內文 Noto Sans Thai、標題 Noto Serif Thai（fonts/fonts-th.css），文中的英文用 Latin 字型；行高加大避免聲調符號被切掉，不加字距 */
html[lang="th"] body,
html[lang="th"] button,
html[lang="th"] input,
html[lang="th"] .main-header-menu .menu-link {
	font-family: 'Noto Sans Thai', 'Noto Sans', 'Noto Sans TC', sans-serif;
}

html[lang="th"] h1,
html[lang="th"] h2,
html[lang="th"] h3,
html[lang="th"] h4,
html[lang="th"] .site-title,
html[lang="th"] .site-title a,
html[lang="th"] .talee-chips li,
html[lang="th"] .site-footer .talee-footer-name {
	font-family: 'Noto Serif Thai', 'Noto Serif', 'Noto Serif TC', serif;
	letter-spacing: 0;
	line-height: 1.5;
}

.talee-nowrap {
	white-space: nowrap;
}

/* 日文、韓文：Latin 字型排第一（英數字），漢字/假名/韓文用各自的 Noto 字型（fonts/fonts-ja.css、fonts-ko.css） */
html[lang="ja"] body,
html[lang="ja"] button,
html[lang="ja"] input,
html[lang="ja"] .main-header-menu .menu-link {
	font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
}

html[lang="ja"] h1,
html[lang="ja"] h2,
html[lang="ja"] h3,
html[lang="ja"] h4,
html[lang="ja"] .site-title,
html[lang="ja"] .site-title a,
html[lang="ja"] .talee-chips li,
html[lang="ja"] .site-footer .talee-footer-name {
	font-family: 'Noto Serif', 'Noto Serif JP', serif;
	letter-spacing: 0.02em;
	word-break: auto-phrase; /* 依文節換行（Chrome），其他瀏覽器照一般規則 */
}

html[lang^="ko"] body,
html[lang^="ko"] button,
html[lang^="ko"] input,
html[lang^="ko"] .main-header-menu .menu-link {
	font-family: 'Noto Sans', 'Noto Sans KR', sans-serif;
}

html[lang^="ko"] h1,
html[lang^="ko"] h2,
html[lang^="ko"] h3,
html[lang^="ko"] h4,
html[lang^="ko"] .site-title,
html[lang^="ko"] .site-title a,
html[lang^="ko"] .talee-chips li,
html[lang^="ko"] .site-footer .talee-footer-name {
	font-family: 'Noto Serif', 'Noto Serif KR', serif;
	letter-spacing: 0;
}

/* 韓文以詞為單位換行 */
html[lang^="ko"] .entry-content p,
html[lang^="ko"] .entry-content li {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

/* ==========================================================================
   頁首語言切換（地球＋國旗＋語言名稱）
   ========================================================================== */
.ast-header-html .ast-builder-html-element > p:empty {
	display: none;
}

.talee-lang {
	position: relative;
}

.talee-lang summary {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid var(--talee-line);
	border-radius: 999px;
	background: #fff;
	color: var(--talee-ink);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	list-style: none;
	white-space: nowrap;
}

.talee-lang summary::-webkit-details-marker {
	display: none;
}

.talee-lang summary:hover,
.talee-lang[open] summary {
	border-color: var(--talee-red);
	color: var(--talee-red);
}

.talee-flag {
	width: 20px;
	height: 15px;
	object-fit: cover;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
	flex: none;
}

.talee-lang-globe {
	flex: none;
	color: var(--talee-muted);
}

.talee-lang-short {
	display: none;
}

.talee-lang-caret {
	flex: none;
	transition: transform 0.2s;
}

.talee-lang[open] .talee-lang-caret {
	transform: rotate(180deg);
}

.talee-lang-list {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 1000;
	min-width: 190px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--talee-line);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(43, 36, 32, 0.16);
}

.talee-lang-list a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 8px;
	color: var(--talee-ink);
	font-size: 15px;
	text-decoration: none;
}

.talee-lang-list a:hover,
.talee-lang-list a:focus-visible {
	background: var(--talee-bg);
	color: var(--talee-red);
}

.talee-lang-list a[aria-current="true"] {
	font-weight: 700;
	background: #f6e6e1;
}

/* 每種語言的名稱用該語言的字型顯示 */
.talee-lang-list a[lang="th"] {
	font-family: 'Noto Sans Thai', sans-serif;
}

@media (max-width: 921px) {
	.talee-lang summary {
		padding: 6px 10px;
		font-size: 14px;
	}

	.talee-lang-name,
	.talee-lang-globe {
		display: none;
	}

	.talee-lang-short {
		display: inline;
	}

	/* 手機頁首：logo、網站名稱、語言、選單按鈕要擠在一行 */
	.ast-mobile-header-wrap .site-title,
	.ast-mobile-header-wrap .site-title a {
		font-size: 18px;
		letter-spacing: 0.02em;
		white-space: nowrap;
	}

	.talee-lang-list {
		right: -8px;
	}
}

/* 小相簿（大廳、早餐）與停車場照片 */
.talee-gallery-mini.wp-block-gallery {
	margin-top: 12px !important;
	gap: 12px;
}

.talee-gallery-mini.wp-block-gallery.has-nested-images figure.wp-block-image img {
	aspect-ratio: 16 / 10;
	border-radius: 12px;
}

/* 停車場：寬幅的停車場照片佔 2/3，直式的招牌照片佔 1/3，同高 */
.talee-gallery-parking.wp-block-gallery.has-nested-images {
	display: grid;
	grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr);
	gap: 12px;
}

.talee-gallery-parking.wp-block-gallery.has-nested-images figure.wp-block-image {
	width: auto !important;
	margin: 0 !important;
}

.talee-gallery-parking.wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 100%;
	height: 320px;
	aspect-ratio: auto;
	object-fit: cover;
}

.talee-gallery-parking.wp-block-gallery.has-nested-images figure.wp-block-image:last-child img {
	object-position: 50% 35%;
}

@media (max-width: 600px) {
	.talee-gallery-parking.wp-block-gallery.has-nested-images figure.wp-block-image img {
		height: 220px;
	}
}

.talee-cta-note {
	font-size: 14px;
	opacity: 0.85;
	margin-top: 16px !important;
}

.talee-line-langs {
	font-weight: 700;
	color: var(--talee-ink);
}

html[lang="th"] .talee-eyebrow {
	letter-spacing: 0;
}

html[lang="th"] .entry-content .talee-hero h1.talee-hero-title {
	line-height: 1.4;
}

/* ---------- 頁尾 ---------- */
.site-footer .site-primary-footer-wrap,
.site-footer .site-below-footer-wrap {
	background-color: var(--talee-dark);
	color: rgba(255, 255, 255, 0.78);
}

.site-footer .site-primary-footer-wrap {
	padding-top: 48px;
	padding-bottom: 24px;
}

.site-footer .site-below-footer-wrap {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	font-size: 14px;
}

.site-footer .ast-footer-copyright.site-footer-focus-item,
.site-footer .ast-footer-copyright p {
	color: rgba(255, 255, 255, 0.66);
}

.site-footer a {
	color: #f3d9a4;
}

.site-footer a:hover {
	color: #fff;
}

.site-footer .talee-footer-name {
	font-family: 'Noto Serif TC', serif;
	font-size: 20px;
	color: #fff;
	margin-bottom: 8px;
}

/* ---------- 手機與平板 ---------- */
@media (max-width: 921px) {
	.talee-hero.wp-block-cover {
		padding-top: 96px;
		padding-bottom: 120px;
		min-height: 70vh !important;
	}

	.talee-hero .wp-block-cover__background.has-background-dim {
		background: linear-gradient(0deg, rgba(31, 26, 23, 0.85) 0%, rgba(31, 26, 23, 0.55) 55%, rgba(31, 26, 23, 0.2) 100%) !important;
	}

	.talee-split-reverse {
		flex-direction: column-reverse;
	}
}

@media (max-width: 600px) {
	.talee-hl-grid {
		margin-top: -56px !important;
		gap: 12px;
	}

	.talee-hl {
		display: grid;
		grid-template-columns: 44px 1fr;
		column-gap: 14px;
		padding: 18px;
	}

	.talee-hl::before {
		grid-row: span 2;
		margin-bottom: 0;
	}

	.talee-section .talee-hl h2 {
		font-size: 18px;
		margin: 0;
	}

	.talee-section-lead {
		font-size: 16px;
	}

	.talee-spots li {
		flex-direction: column;
		gap: 2px;
	}

	.talee-facts-labelled li {
		flex-direction: column;
		gap: 2px;
	}

	.talee-facts-labelled strong {
		flex-basis: auto;
	}

	.talee-gallery.wp-block-gallery.columns-3 .wp-block-image {
		width: calc(50% - 6px) !important;
	}

	/* 房型卡片在手機上改成左右滑動，避免頁面過長 */
	.talee-section .talee-room-grid:not(.talee-room-grid-full).is-layout-grid {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		gap: 14px;
		max-width: none;
		margin-left: 0 !important;
		margin-right: calc(50% - 50vw) !important; /* 右側延伸到螢幕邊緣，暗示可以滑動 */
		padding: 4px 24px 12px 0;
		scrollbar-width: thin;
	}

	.talee-room-grid:not(.talee-room-grid-full) .talee-room-card {
		flex: 0 0 78%;
		scroll-snap-align: start;
	}

	.talee-room-card:hover {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.talee-room-card,
	.entry-content .wp-block-button__link {
		transition: none;
	}

	.talee-room-card:hover {
		transform: none;
	}
}

/* ---------- 手機底部 LINE 訂房固定列 ---------- */
.talee-line-sticky {
	display: none;
}

@media (max-width: 921px) {
	.talee-line-sticky {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: calc(12px + env(safe-area-inset-bottom));
		z-index: 999;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 52px;
		border-radius: 999px;
		background: var(--talee-line-green);
		color: #fff;
		font-weight: 700;
		font-size: 17px;
		text-decoration: none;
		box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
	}

	.talee-line-sticky:hover,
	.talee-line-sticky:focus-visible {
		color: #fff;
		background: #046e35;
	}

	/* 用鍵盤移動焦點時，不讓固定列蓋住目前的元素 */
	html {
		scroll-padding-bottom: calc(84px + env(safe-area-inset-bottom));
	}

	/* 讓出固定列的高度，用頁尾的深色延伸，不露出米白底 */
	.site-footer .site-below-footer-wrap {
		padding-bottom: calc(76px + env(safe-area-inset-bottom));
	}
}
