/* New Horizon — layout chrome. Component styles (cards, hero, tabs) live in the NHT Experiences plugin. */

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }

/* ---------- header (Webjet-style: brand bar + tab row) ---------- */

.nht-header { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--white); }
.admin-bar .nht-header { top: var(--wp-admin--admin-bar--height, 32px); }
.nht-header__top { padding-top: 10px; padding-bottom: 6px; }
.nht-header__bar { gap: 16px; }
.nht-logo img { display: block; width: 150px; height: auto; filter: brightness(1.04); mix-blend-mode: multiply; } /* JPG logo: push its off-white background to white and blend it into the header */
.nht-header__actions { gap: 20px; }
.nht-header__phone { margin: 0; font-size: .95rem; font-weight: 700; white-space: nowrap; }
.nht-header__phone a { color: var(--wp--preset--color--ink); text-decoration: none; }
.nht-header__phone a:hover { color: var(--wp--preset--color--primary); }
.nht-header__cta .wp-block-button__link { padding: .55em 1.3em; font-size: .9rem; }

.nht-header__nav { border-bottom: 1px solid var(--wp--preset--color--line); }
.nht-tabsnav { gap: 4px !important; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nht-tabsnav::-webkit-scrollbar { display: none; }
.nht-tabsnav .wp-block-navigation__container { gap: 4px; flex-wrap: nowrap; }
.nht-tabsnav .wp-block-navigation-item__content {
	display: block; padding: 12px 14px 11px !important; border-bottom: 3px solid transparent;
	color: var(--wp--preset--color--muted); white-space: nowrap; text-decoration: none;
}
.nht-tabsnav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--ink); }
.nht-tabsnav .is-current > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink); border-bottom-color: var(--wp--preset--color--accent);
}

@media (max-width: 600px) {
	.nht-header { position: static; }
	.nht-logo img { width: 112px; }
	.nht-header__phone { display: none; }
	.nht-tabsnav .wp-block-navigation-item__content { padding: 10px 10px 9px !important; font-size: .9rem; }
}

/* ---------- homepage ---------- */

.nht-promos .nht-section-title { margin-bottom: 20px; }
.nht-promo { display: flex; height: 100%; overflow: hidden; border-radius: 16px; min-height: 220px; }
.nht-promo > * { margin: 0 !important; }
.nht-promo__panel { display: flex; flex: 0 0 50%; flex-direction: column; gap: 8px; padding: 24px; }
.nht-promo__panel h3 { margin: 0; font-size: 1.35rem; }
.nht-promo__panel p { margin: 0; font-size: .9rem; line-height: 1.6; opacity: .95; }
.nht-promo__link { margin-top: auto !important; padding-top: 12px; }
.nht-promo__link a { color: inherit; font-weight: 700; text-decoration: none; }
.nht-promo__link a::after { content: ""; position: absolute; inset: 0; } /* whole card clickable */
.nht-promo { position: relative; }
.nht-promo__img { flex: 1 1 50%; }
.nht-promo__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.nht-promo:hover .nht-promo__img img { transform: scale(1.03); }
.nht-promo__img { overflow: hidden; }
.nht-promo__img img { transition: transform .3s; }
@media (max-width: 1100px) and (min-width: 782px) {
	.nht-promo { flex-direction: column; }
	.nht-promo__img { min-height: 160px; }
}

.nht-cta { border-radius: 20px; gap: 24px; }
.nht-cta h2 { margin: 0 0 6px; }
.nht-cta p { margin: 0; }
.nht-cta .is-style-outline .wp-block-button__link { border-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); background: transparent; }
.nht-cta .is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }

/* ---------- archives ---------- */

.nht-archive__head .wp-block-query-title { margin: 0; }
.nht-archive__head .wp-block-term-description { color: var(--wp--preset--color--muted); }

/* ---------- single experience ---------- */

.nht-single__image img { border-radius: 20px; }
.nht-single .wp-block-post-title { margin: 0; }
.nht-single__content h2, .nht-single__content h3 {
	margin-top: 1.8em; padding-left: 12px; border-left: 4px solid var(--wp--preset--color--accent);
}
.nht-single__content h3:first-child, .nht-single__content .wp-block-post-content > :first-child { margin-top: 0; }
.nht-single__content ul { padding-left: 1.2em; }
.nht-single__content img { border-radius: 12px; }

/* ---------- footer ---------- */

.nht-footer a { color: inherit; text-decoration: none; opacity: .85; }
.nht-footer a:hover { opacity: 1; text-decoration: underline; }
.nht-footer h2, .nht-footer h3 { color: inherit; }
.nht-footer__brand span { font-size: .8em; font-weight: 600; opacity: .7; }
.nht-footer__links { margin: 0; padding: 0; list-style: none; }
.nht-footer__links li { padding: 3px 0; }
.nht-footer__contact { margin-top: 3px; line-height: 1.9; opacity: .9; } /* starts right under its heading, like the link lists */
.nht-footer__rule { border-color: rgba(255, 255, 255, .25) !important; }
.nht-footer__legal { opacity: .6; }

/* ---------- landing pages (关于我们 / 联系我们) ---------- */

.nht-page-hero { border-radius: 24px; overflow: hidden; }
.nht-page-hero .wp-block-cover__inner-container { max-width: 760px; text-align: center; }
.nht-page-hero h1 { margin: 0 0 .3em; font-size: clamp(2rem, 1.4rem + 2.4vw, 3rem); }
.nht-page-hero p { margin: 0; opacity: .92; line-height: 1.6; }

.nht-eyebrow { margin: 0 0 4px !important; font-size: .8rem; font-weight: 800; letter-spacing: .12em; color: var(--wp--preset--color--accent); }
.nht-landing h2 { margin-top: 0; }
.nht-landing .nht-single__content h2 { margin-top: 1.8em; } /* article-style columns on landing pages (邮轮, 酒店) */
.nht-landing .nht-single__content > h2:first-child { margin-top: 0; }

.nht-about-intro p:not(.nht-eyebrow) { color: var(--wp--preset--color--muted); }
.nht-about-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; }

.nht-feature-card {
	height: 100%; overflow: hidden; border-radius: 16px; background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line); box-shadow: 0 1px 2px rgba(22, 32, 42, .06), 0 8px 24px rgba(22, 32, 42, .06);
}
.nht-feature-card > * { margin-left: 24px !important; margin-right: 24px !important; }
.nht-feature-card .nht-about-img { margin: 0 !important; }
.nht-feature-card .nht-about-img img { aspect-ratio: 16 / 9; border-radius: 0; }
.nht-feature-card h3 { margin-top: 20px; }
.nht-feature-card p { margin-bottom: 24px; color: var(--wp--preset--color--muted); font-size: .95rem; }
.nht-about-features > .wp-block-columns, .nht-about-services > .wp-block-columns { margin-top: 20px; }

.nht-icon-card {
	height: 100%; padding: 24px; border-radius: 16px; background: var(--wp--preset--color--surface); box-sizing: border-box;
}
.nht-icon-card::before {
	content: ""; display: block; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 12px;
	background: var(--wp--preset--color--primary) center / 22px no-repeat;
}
.nht-icon-card--route::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='2'/%3E%3Ccircle cx='18' cy='5' r='2'/%3E%3Cpath d='M8 19h8a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h8'/%3E%3C/svg%3E"); }
.nht-icon-card--ticket::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8a2 2 0 0 0 0 4v4h18v-4a2 2 0 0 1 0-4V5H3z'/%3E%3Cpath d='M14 5v11' stroke-dasharray='2 2'/%3E%3C/svg%3E"); }
.nht-icon-card--business::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2M3 13h18'/%3E%3C/svg%3E"); }
.nht-icon-card--visa::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3Cpath d='M9 17h6'/%3E%3C/svg%3E"); }
.nht-icon-card h3 { margin: 0 0 8px; font-size: 1.05rem; }
.nht-icon-card p, .nht-icon-card ul { margin: 0; font-size: .9rem; line-height: 1.7; color: var(--wp--preset--color--muted); }
.nht-icon-card ul { padding-left: 1.1em; }
.nht-icon-card li + li { margin-top: 4px; }
.nht-landing .wp-block-post-content > * + * { margin-top: clamp(40px, 6vw, 72px); }
.nht-landing .wp-block-post-content > .nht-page-hero + * { margin-top: clamp(24px, 3vw, 40px); }

.nht-footer__note { opacity: .7; }

/* 中文 / EN switch in the header */
.nht-lang {
	display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1px solid currentColor; border-radius: 999px;
	font-size: .85rem; font-weight: 700; letter-spacing: .04em; text-decoration: none; color: inherit; opacity: .85;
}
.nht-lang:hover { opacity: 1; }

/* 关于我们 → 公司注册信息 */
.nht-company { padding: clamp(24px, 4vw, 40px); border-radius: 16px; background: var(--wp--preset--color--surface, #f5f7f9); }
.nht-company__table table { width: 100%; max-width: 760px; border-collapse: collapse; }
.nht-company__table th, .nht-company__table td { padding: 10px 0; border: 0; border-bottom: 1px solid var(--wp--preset--color--line, #e3e7eb); text-align: left; vertical-align: top; }
.nht-company__table th { width: 9em; padding-right: 16px; font-weight: 700; color: var(--wp--preset--color--muted, #5b6672); white-space: nowrap; }
.nht-company__table tr:last-child th, .nht-company__table tr:last-child td { border-bottom: 0; }
