/* Font Noto Sans tự lưu trong theme (bỏ Google Fonts) - subset Vietnamese + Latin */
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/noto-sans-vietnamese-wght-normal.woff2") format("woff2-variations"); unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/noto-sans-latin-wght-normal.woff2") format("woff2-variations"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* Dulich Travel v1.1 - style bổ sung cho những thứ theme.json chưa làm được */

:root {
	/* icon dạng mask: đổi màu bằng background-color */
	--dl-i-pin: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/></svg>");
	--dl-i-cal: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm-2 8h14v10H5V10z'/></svg>");
	--dl-i-car: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M5 11l1.5-4.5A2 2 0 0 1 8.4 5h7.2a2 2 0 0 1 1.9 1.5L19 11a2 2 0 0 1 2 2v5h-2v2h-3v-2H8v2H5v-2H3v-5a2 2 0 0 1 2-2zm2.2 0h9.6l-1-3H8.2l-1 3zM6.5 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm11 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/></svg>");
	--dl-i-arrow: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 11h12.2l-5.6-5.6L12 4l8 8-8 8-1.4-1.4 5.6-5.6H4v-2z'/></svg>");
	--dl-i-check: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>");
	--dl-i-chevron: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7.4 8.6 12 13.2l4.6-4.6L18 10l-6 6-6-6z'/></svg>");
	--dl-i-quote: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z'/></svg>");
	--dl-i-users: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M16 11a3 3 0 1 0-3-3 3 3 0 0 0 3 3zM8 11a3 3 0 1 0-3-3 3 3 0 0 0 3 3zm0 2c-2.3 0-7 1.2-7 3.5V19h14v-2.5C15 14.2 10.3 13 8 13zm8 0c-.3 0-.6 0-1 .1 1.2.9 2 2 2 3.4V19h6v-2.5c0-2.3-4.7-3.5-7-3.5z'/></svg>");
	--dl-i-bag: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 7h-4V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM10 5h4v2h-4V5z'/></svg>");
	--dl-i-compass: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm4.2 5.8-2.1 6.3-6.3 2.1 2.1-6.3 6.3-2.1zM12 11a1 1 0 1 0 0 2 1 1 0 0 0 0-2z'/></svg>");
}

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
.site-header { background: var(--wp--preset--color--base); box-shadow: 0 1px 0 rgba(24, 27, 32, .08); }
.site-header .wp-block-site-title a { text-decoration: none; }
.site-header__actions { gap: 1.25rem; }
.site-header__actions .wp-block-loginout a { color: var(--wp--preset--color--contrast); text-decoration: none; font-size: .875rem; }
.site-header__actions .wp-block-loginout a:hover { color: var(--wp--preset--color--primary); }
.site-header .wp-block-button__link { padding: .55rem 1.25rem; }
.wp-block-navigation .current-menu-item > a,
.wp-block-navigation .current-menu-ancestor > a { color: var(--wp--preset--color--primary); }

/* ---------- Layout chung ---------- */
.wp-site-blocks > main > * { margin-block-start: 0; }
.dl-grid { gap: 1.875rem; }
.section-eyebrow { color: var(--wp--preset--color--primary); font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .07em; margin-bottom: .15rem; }
.more-link a { color: var(--wp--preset--color--primary); font-style: italic; text-decoration: underline; }
.page-hero { background-image: var(--wp--preset--gradient--ocean); }
.page-hero h1 { color: var(--wp--preset--color--base); font-weight: 600; }

/* ---------- Nút ---------- */
.is-style-outline > .wp-block-button__link { background: transparent; border: 1px solid currentColor; }
.is-style-outline > .wp-block-button__link.has-base-color:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast) !important; border-color: var(--wp--preset--color--base); }
.is-style-outline > .wp-block-button__link.has-primary-color:hover { background: var(--wp--preset--color--primary); color: #fff !important; border-color: var(--wp--preset--color--primary); }

/* ---------- Hero slider ---------- */
.hero-slider { position: relative; overflow: hidden; }
.hero-cover { background: var(--wp--preset--gradient--ocean); padding-bottom: 7rem; }
.hero-slider .dl-slide:nth-child(2) { background: linear-gradient(135deg, #10343a 0%, #0a6b5f 55%, #6bd1b8 100%); }
.hero-slider .dl-slide:nth-child(3) { background: linear-gradient(135deg, #1b2a41 0%, #17606f 55%, #02aa91 100%); }
.hero-cover h1 { font-weight: 500; }
.hero-eyebrow { font-weight: 600; font-size: .9rem; text-transform: uppercase; letter-spacing: .03em; margin-bottom: 0; }

/* Ngoài site (JS thêm .is-js): các slide chồng lên nhau và chuyển mờ dần.
   Trong trình soạn thảo không có .is-js nên các slide xếp dọc để dễ sửa từng cái. */
body:not(.editor-styles-wrapper) .hero-slider:not(.is-js) .dl-slide:nth-child(n+2) { display: none; }
.hero-slider.is-js .dl-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; }
.hero-slider.is-js .dl-slide.is-active { position: relative; opacity: 1; visibility: visible; z-index: 1; }

/* chữ trượt vào + ảnh nền zoom nhẹ */
.hero-slider.is-js .dl-slide.is-active .wp-block-cover__inner-container .wp-block-group > * { animation: dl-text-in .85s cubic-bezier(.2, .7, .2, 1) both; }
.hero-slider.is-js .dl-slide.is-active .wp-block-cover__inner-container .wp-block-group > :nth-child(1) { animation-delay: .15s; }
.hero-slider.is-js .dl-slide.is-active .wp-block-cover__inner-container .wp-block-group > :nth-child(2) { animation-delay: .3s; }
.hero-slider.is-js .dl-slide.is-active .wp-block-cover__inner-container .wp-block-group > :nth-child(3) { animation-delay: .45s; }
.hero-slider.is-js .dl-slide.is-active .wp-block-cover__inner-container .wp-block-group > :nth-child(4) { animation-delay: .6s; }
.hero-slider.is-js .dl-slide.is-active .wp-block-cover__image-background { animation: dl-zoom 9s ease-out both; }
@keyframes dl-text-in { from { opacity: 0; transform: translateX(-56px); } to { opacity: 1; transform: none; } }
@keyframes dl-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }

/* mũi tên + chấm tròn */
.dl-slider__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 7; width: 34px; height: 50px; border: 0; padding: 0; background: var(--wp--preset--color--primary); color: #fff; display: grid; place-items: center; cursor: pointer; opacity: .92; transition: background .2s; }
.dl-slider__arrow:hover { background: var(--wp--preset--color--primary-dark); opacity: 1; }
.dl-slider__arrow--prev { left: 0; border-radius: 0 4px 4px 0; }
.dl-slider__arrow--next { right: 0; border-radius: 4px 0 0 4px; }
.dl-slider__dots { position: absolute; z-index: 7; left: max(1.25rem, calc((100% - 1200px) / 2)); bottom: 1.9rem; display: flex; gap: .85rem; }
.dl-slider__dot { width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .55); cursor: pointer; transition: background .2s; }
.dl-slider__dot.is-active { background: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px rgba(255, 255, 255, .95); }

/* ô tìm kiếm đè lên góc dưới bên phải của slider */
.hero-search { background: #e9edf0; border-radius: 10px; padding: 1.25rem; width: min(470px, 100%); margin: 1rem 0 0 auto; box-sizing: border-box; }
:is(.hero-slider.is-js, body:not(.editor-styles-wrapper) .hero-slider) .hero-search { position: absolute; z-index: 8; right: max(1.25rem, calc((100% - 1200px) / 2)); bottom: 0; margin: 0; border-radius: 10px 10px 0 0; width: min(470px, calc(100% - 2.5rem)); }
.hero-search__form { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.hero-search__field { height: 46px; width: 100%; border: 0; border-radius: 6px; padding: 0 .9rem; background: #fff; font: inherit; font-size: .9rem; color: var(--wp--preset--color--contrast); box-sizing: border-box; }
.hero-search__field--wide { grid-column: 1 / -1; }
.hero-search__btn { height: 46px; border: 0; border-radius: 6px; background: var(--wp--preset--color--primary); color: #fff; font: inherit; font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.hero-search__btn:hover { background: var(--wp--preset--color--primary-dark); }

/* ---------- Số liệu (hiệu ứng đếm do theme.js) ---------- */
.stats-row { gap: 1rem; }
.stat { gap: 1rem; align-items: center; }
.stat p { margin: 0; }
.stat-number { font-size: clamp(2rem, 3.2vw, 2.9rem); font-weight: 700; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; }
.stat-label { font-size: .95rem; line-height: 1.4; color: var(--wp--preset--color--muted); }
.stat-stars { color: #f5b301; letter-spacing: .05em; }

/* ---------- Carousel (điểm đến + cẩm nang) ---------- */
.dl-carousel-wrap { position: relative; }
.dl-carousel { display: grid; gap: 1.25rem; }
.dl-carousel--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dl-carousel--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wp-block-post-template.dl-carousel { list-style: none; padding: 0; margin-top: 1.75rem; margin-bottom: 0; }
.dl-carousel > * { margin: 0 !important; }
.wp-block-post-template > li > .wp-block-template-part { height: 100%; }

/* ngoài site: thành hàng cuộn/vuốt, mỗi lần dịch 1 thẻ */
:is(.dl-carousel.is-js, body:not(.editor-styles-wrapper) .dl-carousel) { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 1.25rem) / 4); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
:is(.dl-carousel--3.is-js, body:not(.editor-styles-wrapper) .dl-carousel--3) { grid-auto-columns: calc((100% - 2 * 1.25rem) / 3); }
:is(.dl-carousel.is-js, body:not(.editor-styles-wrapper) .dl-carousel)::-webkit-scrollbar { display: none; }
:is(.dl-carousel.is-js, body:not(.editor-styles-wrapper) .dl-carousel) > * { scroll-snap-align: start; }
.dl-carousel-nav { position: absolute; top: 1.2rem; right: 0; display: flex; gap: .6rem; z-index: 2; }
.dl-carousel-btn { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 4px; background: var(--wp--preset--color--primary); color: #fff; display: grid; place-items: center; cursor: pointer; transition: background .2s, opacity .2s; }
.dl-carousel-btn:hover:not(:disabled) { background: var(--wp--preset--color--primary-dark); }
.dl-carousel-btn:disabled { opacity: .4; cursor: default; }
.dl-carousel-dots { display: flex; justify-content: center; flex-wrap: wrap; gap: .85rem; margin-top: 1.5rem; }
.dl-carousel-dot { width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; background: #c3ccd2; cursor: pointer; }
.dl-carousel-dot.is-active { background: var(--wp--preset--color--primary); box-shadow: 0 0 0 3px var(--wp--preset--color--surface), 0 0 0 5px var(--wp--preset--color--primary); }
.dl-carousel-wrap.is-static .dl-carousel-nav, .dl-carousel-wrap.is-static .dl-carousel-dots { display: none; }

/* thẻ điểm đến: ảnh dọc, chữ góc dưới trái, nút ghim góc dưới phải */
.dest-card { align-self: start; width: 100%; height: auto; border-radius: 10px; overflow: hidden; background: var(--wp--preset--gradient--ocean); aspect-ratio: 352 / 457; min-height: 0 !important; padding: 1.1rem; }
.dest-card .wp-block-cover__background { background: linear-gradient(to top, rgba(0, 0, 0, .72), rgba(0, 0, 0, 0) 58%) !important; opacity: 1 !important; }
.dest-card::after { content: ""; position: absolute; right: 1.1rem; bottom: 1.1rem; width: 44px; height: 44px; border-radius: 50%; z-index: 3; background: var(--wp--preset--color--primary) url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M4 11h12.2l-5.6-5.6L12 4l8 8-8 8-1.4-1.4 5.6-5.6H4v-2z'/></svg>") center / 22px no-repeat; }
.dest-card h4 { font-size: 1.6rem; font-weight: 600; margin: 0; }
.dest-card p { margin: .15rem 0 0; opacity: .92; }
.dest-card a { color: #fff; text-decoration: none; }
.dest-card a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.dest-card .wp-block-cover__image-background { transition: transform .5s ease; }
.dest-card:hover .wp-block-cover__image-background { transform: scale(1.05); }

/* ---------- Tại sao chọn / accordion ---------- */
.why-img { border-radius: 12px; overflow: hidden; background: var(--wp--preset--gradient--ocean); }
.why-list { margin-block: 1rem; }
.why-list .wp-block-details { border-bottom: 1px solid #dfe5e9; padding: .85rem 0; margin: 0; }
.why-list summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; align-items: center; gap: .7rem; }
.why-list summary::-webkit-details-marker { display: none; }
.why-list summary::before { content: ""; flex: 0 0 1.1rem; height: 1.1rem; background: var(--wp--preset--color--primary); -webkit-mask: var(--dl-i-check) center / contain no-repeat; mask: var(--dl-i-check) center / contain no-repeat; }
.why-list summary::after { content: ""; margin-left: auto; flex: 0 0 1.25rem; height: 1.25rem; background: var(--wp--preset--color--muted); -webkit-mask: var(--dl-i-chevron) center / contain no-repeat; mask: var(--dl-i-chevron) center / contain no-repeat; transition: transform .2s; }
.why-list details[open] summary::after { transform: rotate(180deg); }
.why-list details > p { margin: .6rem 0 0 1.8rem; }

/* ---------- Loại tour ---------- */
.type-row { gap: 1.25rem; }
.type-row > .wp-block-column { display: flex; }
.type-row > .wp-block-column > .wp-block-group { flex: 1; }
.type-intro { border-radius: 10px; padding: 2rem; }
.type-intro h2 { font-size: clamp(1.75rem, 2.4vw, 2.25rem); margin: .4rem 0 1rem; }
.type-eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: .8rem; margin: 0; opacity: .9; }
.type-advice a { color: #fff; text-decoration: none; }
.type-card { background: #fff; border-radius: 10px; padding: 2rem; box-shadow: var(--wp--preset--shadow--card); }
.type-icon { width: 64px; height: 64px; border-radius: 50%; background-color: var(--wp--preset--color--primary); background-repeat: no-repeat; background-position: center; background-size: 30px; }
.type-icon--group { background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M16 11a3 3 0 1 0-3-3 3 3 0 0 0 3 3zM8 11a3 3 0 1 0-3-3 3 3 0 0 0 3 3zm0 2c-2.3 0-7 1.2-7 3.5V19h14v-2.5C15 14.2 10.3 13 8 13zm8 0c-.3 0-.6 0-1 .1 1.2.9 2 2 2 3.4V19h6v-2.5c0-2.3-4.7-3.5-7-3.5z'/></svg>"); }
.type-icon--private { background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M20 7h-4V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM10 5h4v2h-4V5z'/></svg>"); }
.type-icon--custom { background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm4.2 5.8-2.1 6.3-6.3 2.1 2.1-6.3 6.3-2.1zM12 11a1 1 0 1 0 0 2 1 1 0 0 0 0-2z'/></svg>"); }
.type-card h4 { margin: 1rem 0 .5rem; font-weight: 600; }
.type-card p { margin: 0 0 .75rem; }
.type-link { margin-top: auto; }
.type-link a { color: var(--wp--preset--color--primary); font-weight: 600; font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; text-decoration: none; }
.type-link a:hover { text-decoration: underline; }

/* ---------- Thẻ tour ---------- */
.tour-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: var(--wp--preset--shadow--card); height: 100%; transition: box-shadow .2s ease; }
.tour-card:hover { box-shadow: var(--wp--preset--shadow--lift); }
.tour-card__media { position: relative; }
.tour-card__media .wp-block-post-featured-image { margin: 0; }
.tour-card__media img { width: 100%; display: block; }
.tour-badge { position: absolute; top: .75rem; left: .75rem; z-index: 2; margin: 0 !important; background: var(--wp--preset--color--accent); color: #fff; font-weight: 600; font-size: .8rem; line-height: 1; padding: .35rem .55rem; border-radius: 4px; }
.tour-badge:empty { display: none; }
.tour-card__body { padding: 1.6rem 1.8rem 1.5rem; }
.tour-card__body .wp-block-post-title { font-weight: 500; line-height: 1.3; margin: 0 0 1rem; min-height: 2.6em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tour-card__body .wp-block-post-title a { text-decoration: none; }
.tour-meta { margin: .5rem 0 !important; gap: .5rem; align-items: center; }
.tour-meta p { margin: 0 !important; }
.tour-meta__label { display: flex; align-items: center; gap: .45rem; color: var(--wp--preset--color--muted); font-weight: 600; white-space: nowrap; }
.tour-meta__label::before { content: ""; flex: 0 0 .95rem; height: .95rem; background: var(--wp--preset--color--primary); -webkit-mask: var(--dl-i-pin) center / contain no-repeat; mask: var(--dl-i-pin) center / contain no-repeat; }
.tour-meta--dur .tour-meta__label::before { -webkit-mask-image: var(--dl-i-cal); mask-image: var(--dl-i-cal); }
.tour-meta--trans .tour-meta__label::before { -webkit-mask-image: var(--dl-i-car); mask-image: var(--dl-i-car); }
.tour-meta__value { font-size: .875rem; font-weight: 600; color: #555; text-align: right; }
.tour-card__price { margin-top: 0 !important; padding-top: .9rem; border-top: 1px solid #e3e8eb; align-items: center; gap: .75rem; }
.tour-card__price p { margin: 0 !important; }
.tour-price-wrap { gap: .5rem; align-items: baseline; }
.tour-price { font-weight: 700; font-size: 1rem; }
.tour-price-old { color: var(--wp--preset--color--muted); text-decoration: line-through; font-size: .8rem; }
.tour-price-old:empty { display: none; }
.tour-go { display: block; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 50%; background: var(--wp--preset--color--primary); position: relative; font-size: 0; line-height: 0; text-decoration: none; transition: background .2s; }
.tour-go::after { content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; background: #fff; -webkit-mask: var(--dl-i-arrow) center / contain no-repeat; mask: var(--dl-i-arrow) center / contain no-repeat; }
.tour-go:hover { background: var(--wp--preset--color--primary-dark); }

/* ---------- Chi tiết tour ---------- */
.tour-booking { background: #fff; border-radius: 10px; box-shadow: var(--wp--preset--shadow--card); padding: 1.5rem; position: sticky; top: 110px; border-top: 4px solid var(--wp--preset--color--primary); }
.tour-booking .tour-price { font-size: 1.5rem; }
.tour-booking .wp-block-buttons { margin-top: 1rem; }
.tour-booking .wp-block-button, .tour-booking .wp-block-button__link { width: 100%; text-align: center; }
.tour-dest-terms a { color: #fff; opacity: .85; text-decoration: none; }

/* ---------- Banner ---------- */
.banner-cover { background: var(--wp--preset--gradient--ocean); text-align: center; }
.banner-cover h2, .banner-cover p { text-align: center; }

/* ---------- Bài viết (các thẻ bằng nhau) ---------- */
.post-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: var(--wp--preset--shadow--card); height: 100%; display: flex; flex-direction: column; }
.post-card .wp-block-post-featured-image { margin: 0; }
.post-card .wp-block-post-featured-image img { width: 100%; }
.post-card__body { padding: 1rem 1.25rem 1.4rem; flex: 1; display: flex; flex-direction: column; }
.post-card__body > * { margin-block: .3rem; }
.post-card .wp-block-post-title { font-size: 1.1rem; font-weight: 500; line-height: 1.35; min-height: 2.7em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.post-card .wp-block-post-title a { text-decoration: none; }
.post-card .wp-block-post-excerpt { color: #7a858d; }
.post-card .wp-block-post-excerpt__excerpt { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 4.5em; line-height: 1.5; }
.post-card .wp-block-read-more { margin-top: auto; padding-top: .5rem; color: var(--wp--preset--color--primary); font-style: italic; text-decoration: underline; }

/* ---------- CTA / đánh giá / tag ---------- */
.cta-band h2 { text-align: center; }
.testi-row { gap: 1.25rem; }
.testi-card { background: #fff; border-radius: 10px; padding: 1.5rem; height: 100%; position: relative; box-shadow: var(--wp--preset--shadow--card); }
.testi-card::after { content: ""; position: absolute; top: 1.25rem; right: 1.25rem; width: 38px; height: 38px; background: #dfe5e9; -webkit-mask: var(--dl-i-quote) center / contain no-repeat; mask: var(--dl-i-quote) center / contain no-repeat; }
.testi-who { gap: .9rem; align-items: center; margin-bottom: .75rem; }
.testi-avatar { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50%; background: var(--wp--preset--gradient--ocean); }
.testi-who p { margin: 0; }
.testi-card > p { margin: 0 0 .5rem; }
.testi-stars { color: #f5b301; letter-spacing: .12em; margin: 0; }
.wp-block-tag-cloud a { display: inline-block; margin: 0 .5rem .5rem 0; padding: .35rem .85rem; border-radius: 4px; background: #dee2e5; color: var(--wp--preset--color--contrast); text-decoration: none; font-size: .875rem !important; }
.wp-block-tag-cloud a:hover { background: var(--wp--preset--color--primary); color: #fff; }

/* ---------- Footer ---------- */
.site-footer a { color: inherit; text-decoration: none; opacity: .85; }
.site-footer a:hover { opacity: 1; text-decoration: underline; }
.site-footer h4, .site-footer h5 { color: #fff; }
.footer-links { gap: .4rem; }
.footer-links p { margin: 0; }
.site-footer .wp-block-separator { opacity: .2; margin-block: 2rem 1.25rem; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.dl-grid.dl-grid-4, .dl-grid.dl-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.dl-carousel--4, .dl-carousel--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	:is(.dl-carousel--4.is-js, body:not(.editor-styles-wrapper) .dl-carousel--4, .dl-carousel--3.is-js, body:not(.editor-styles-wrapper) .dl-carousel--3) { grid-auto-columns: calc((100% - 1.25rem) / 2); }
}
@media (max-width: 781px) {
	.hero-cover { padding-bottom: 2rem; }
	:is(.hero-slider.is-js, body:not(.editor-styles-wrapper) .hero-slider) .hero-search { position: static; width: 100%; border-radius: 0; margin: 0; }
	.dl-slider__dots { bottom: auto; top: 1rem; }
	.dl-slider__arrow { width: 28px; height: 40px; }
}
@media (max-width: 600px) {
	.dl-grid.dl-grid-4, .dl-grid.dl-grid-3 { grid-template-columns: minmax(0, 1fr) !important; }
	.dl-carousel--4, .dl-carousel--3 { grid-template-columns: minmax(0, 1fr); }
	:is(.dl-carousel--4.is-js, body:not(.editor-styles-wrapper) .dl-carousel--4, .dl-carousel--3.is-js, body:not(.editor-styles-wrapper) .dl-carousel--3) { grid-auto-columns: 82%; }
	.dl-carousel-nav { top: .6rem; }
	.tour-booking { position: static; }
}
@media (prefers-reduced-motion: reduce) {
	.hero-slider.is-js .dl-slide { transition: none; }
	.hero-slider.is-js .dl-slide.is-active .wp-block-group > *,
	.hero-slider.is-js .dl-slide.is-active .wp-block-cover__image-background { animation: none; }
}

/* ---------- Mẫu header / footer / thân trang (v1.3) ---------- */
.hdr-grid3 > :nth-child(2) { justify-self: center; }
.hdr-grid3 > :nth-child(3) { justify-self: end; }
.topbar p { margin: 0; }
.topbar .wp-block-social-links { gap: .5rem; }
.hdr-under { border-top: 1px solid #e3e8eb; margin-top: .75rem; padding-top: .75rem; gap: 1.5rem; }
.footer-links--row { gap: 1.5rem; }
.footer-links--row p { margin: 0; }
.nl-form { display: flex; gap: .5rem; }
.nl-form input { flex: 1; min-width: 0; height: 46px; border: 0; border-radius: 4px; padding: 0 1rem; font: inherit; }
.nl-form button { height: 46px; border: 0; border-radius: 4px; background: var(--wp--preset--color--dark); color: #fff; font: inherit; font-weight: 700; padding: 0 1.25rem; cursor: pointer; }
.site-footer--light h4, .site-footer--light h5 { color: var(--wp--preset--color--contrast); }
.dl-sidebar { display: flex; flex-direction: column; gap: 1.5rem; }
.dl-sidebar > * { margin: 0 !important; }
.widget { background: #fff; border-radius: 10px; padding: 1.25rem; box-shadow: var(--wp--preset--shadow--card); }
.widget h4 { margin: 0 0 .75rem; }
.widget--cta { background: var(--wp--preset--color--primary); }
.widget--cta h4 { color: #fff; }
.wp-block-latest-posts { padding-left: 1rem; margin: 0; }
@media (max-width: 781px) { .hdr-grid3 { grid-template-columns: 1fr !important; } .hdr-grid3 > * { justify-self: start !important; } }

/* ---------- Thành Nam Group ---------- */
.why-list { gap: 0; }
.why-point { position: relative; margin: 0 0 .7rem; padding-left: 1.9rem; font-weight: 500; }
.why-point::before { content: ""; position: absolute; left: 0; top: .3rem; width: 1.1rem; height: 1.1rem; background: var(--wp--preset--color--primary); -webkit-mask: var(--dl-i-check) center / contain no-repeat; mask: var(--dl-i-check) center / contain no-repeat; }
.unit-card { background: #fff; border-radius: 10px; padding: 1.25rem; box-shadow: var(--wp--preset--shadow--card); }
.unit-card h4 { margin: 0 0 .5rem; color: var(--wp--preset--color--primary); }
.unit-card p { margin: .2rem 0; }
.widget--links figure { margin: 0 0 .75rem; }
.widget--links img { width: 100%; border-radius: 6px; display: block; }
.wp-block-latest-posts__list { list-style: none; padding: 0; margin: 0; }
.wp-block-latest-posts__list li { margin-bottom: .75rem; overflow: hidden; }
.wp-block-latest-posts__featured-image img { border-radius: 4px; }
.wp-block-latest-posts__post-title { font-weight: 500; line-height: 1.35; }
.wp-block-query-pagination { margin-top: 2rem; gap: 1rem; }
.wp-block-query-pagination a { text-decoration: none; font-weight: 600; }
.wp-block-query-pagination-numbers .page-numbers { padding: .3rem .7rem; border-radius: 4px; }
.wp-block-query-pagination-numbers .current { background: var(--wp--preset--color--primary); color: #fff; }
@media (max-width: 781px) { .dl-grid.dl-grid-2 { grid-template-columns: minmax(0, 1fr) !important; } }

/* ---------- v20261012000732: lĩnh vực hoạt động (thẻ to + tự trượt), thẻ tour giống bản gốc ---------- */
.dl-carousel { align-items: start; }
.dl-carousel > .dest-card { align-self: start; }
.tour-rating { margin: 1rem 0 0 !important; padding: .8rem 0; border-top: 1px solid #e3e8eb; display: flex; align-items: center; gap: .5rem; font-size: .8rem; color: var(--wp--preset--color--muted); }
.tour-rating::before { content: ""; flex: 0 0 90px; width: 90px; height: 16px; background: #f5b301; -webkit-mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/></svg>") 0 0 / 18px 16px repeat-x; mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.1 6.3 6.9 1-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z'/></svg>") 0 0 / 18px 16px repeat-x; }
.tour-cur { font-size: .72em; font-weight: 500; }
.tour-price { font-size: .95rem; }

/* v20261012002603: ép thẻ lĩnh vực cao theo tỉ lệ ảnh dọc (thắng CSS mặc định của khối Cover + style min-height gắn trong khối) */
.dl-carousel .dest-card.wp-block-cover { aspect-ratio: 352 / 457 !important; height: auto !important; min-height: 26rem !important; align-self: start !important; }
@media (max-width: 781px) { .dl-carousel .dest-card.wp-block-cover { min-height: 22rem !important; } }

/* v20261012004614: trang tin - 3 cột bằng nhau (nội dung 2 cột + sidebar 1 cột), thẻ bài viết, danh sách tin mới */
.wp-block-columns.news-layout { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.875rem; align-items: start; }
.news-layout > .wp-block-column { flex-basis: auto !important; width: auto; min-width: 0; margin: 0; }
.news-layout > .news-main { grid-column: span 2; }
@media (max-width: 781px) { .wp-block-columns.news-layout { grid-template-columns: minmax(0, 1fr); } .news-layout > .news-main { grid-column: auto; } }

/* thẻ bài viết: bỏ chiều cao ép sẵn của tiêu đề/tóm tắt, khoảng cách đều như trang mẫu */
.post-card .post-card__body { padding: 1.1rem 1.4rem 1.4rem; }
.post-card .post-card__body > * { margin-block: 0 !important; }
.post-card .post-card__body > .wp-block-post-date { margin-bottom: .55rem !important; line-height: 1.4; }
.post-card .post-card__body > .wp-block-post-title { margin-bottom: .7rem !important; min-height: 0; font-size: 1.15rem; line-height: 1.4; -webkit-line-clamp: 3; }
.post-card .post-card__body > .wp-block-post-excerpt { margin-bottom: .8rem !important; }
.post-card .wp-block-post-excerpt__excerpt { min-height: 0; line-height: 1.6; }
.post-card .post-card__body > .wp-block-read-more { margin-top: 0 !important; padding-top: 0; }

/* sidebar: Tin tức mới = ảnh nhỏ trái, tên + ngày phải */
.widget h4 { font-size: 1.35rem; margin: 0 0 1rem; }
.side-news .wp-block-post-template { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.1rem; }
.side-news .wp-block-post-template > li { margin: 0; }
.side-news__item { gap: .9rem; align-items: flex-start; flex-wrap: nowrap; }
.side-news__item > * { margin: 0 !important; }
.side-news__thumb { flex: 0 0 80px; width: 80px !important; }
.side-news__thumb img { width: 80px; height: 60px; object-fit: cover; border-radius: 4px; display: block; }
.side-news__text { flex: 1; min-width: 0; }
.side-news__text > * { margin: 0 !important; }
.side-news__text .wp-block-post-title { font-size: .875rem; font-weight: 700; line-height: 1.4; margin-bottom: .2rem !important; }
.side-news__text .wp-block-post-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.side-news__text .wp-block-post-title a:hover { color: var(--wp--preset--color--primary-dark); }
.side-news__text .wp-block-post-date { font-size: .875rem; }

/* v20261012005930: bài viết liên quan - ảnh cùng kích thước, thẻ gọn (ép cả khi dùng plugin TN Post Tools) */
.tn-related .tn-related__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 1.5rem !important; align-items: stretch; }
.tn-related .tn-rel { display: flex; flex-direction: column; min-width: 0; }
.tn-related .tn-rel__img { display: block !important; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; flex: none; background: #e3e8eb; }
.tn-related .tn-rel__img img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; aspect-ratio: auto !important; }
.tn-related .tn-rel h4 { margin: .9rem 1.1rem .35rem !important; font-size: .975rem !important; font-weight: 600; line-height: 1.4 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em; }
.tn-related .tn-rel small { margin: 0 1.1rem 1.1rem !important; font-size: .85rem; }
@media (max-width: 781px) { .tn-related .tn-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; } }
@media (max-width: 480px) { .tn-related .tn-related__grid { grid-template-columns: minmax(0, 1fr) !important; } }

/* v20261012005930: footer 4 cột theo mẫu (26 / 34 / 17 / 23), tiêu đề to, chữ thoáng */
.site-footer { padding-top: 3.5rem !important; padding-bottom: 2rem !important; }
.wp-block-columns.footer-cols { display: grid !important; grid-template-columns: 26fr 34fr 17fr 23fr; gap: 2.5rem; align-items: start; margin-bottom: 0; }
.footer-cols > .wp-block-column { flex-basis: auto !important; width: auto; min-width: 0; margin: 0; }
.footer-cols h5 { font-size: 1.4rem; font-weight: 500; line-height: 1.3; margin: .4rem 0 1.4rem; }
.footer-cols p { color: #c3c9ce; font-size: .95rem; line-height: 1.75; margin: 0 0 1.1rem; }
.footer-cols > .wp-block-column:first-child p { font-style: italic; color: #b3bac0; }
.footer-cols .wp-block-image { margin: 0 0 1.25rem; }
.footer-cols .wp-block-social-links { margin-top: 1.25rem; gap: 1.1rem; }
.footer-links { gap: .9rem !important; }
.footer-links p { margin: 0 !important; font-style: normal; }
.site-footer .wp-block-separator { opacity: .18; margin-block: 2.5rem 1.4rem; }
.site-footer > .wp-block-group > p.has-text-align-center { color: #aab1b7; font-size: .95rem; margin: 0; }
@media (max-width: 960px) { .wp-block-columns.footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .wp-block-columns.footer-cols { grid-template-columns: minmax(0, 1fr); } }

/* v20261012011553: menu cấp 2 (thả xuống) - mỗi mục con 1 hàng, có đường kẻ ngăn cách */
body .wp-block-navigation .has-child .wp-block-navigation__submenu-container { min-width: 240px; max-width: 340px; padding: .35rem 0; background: #fff; color: var(--wp--preset--color--contrast); border: 1px solid #e3e8eb; border-radius: 8px; box-shadow: var(--wp--preset--shadow--lift); z-index: 100; }
body .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item { display: block; width: 100%; margin: 0; }
body .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(:last-child) { border-bottom: 1px solid #e3e8eb; }
body .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content { display: block; padding: .7rem 1.25rem; font-size: .95rem; line-height: 1.4; }
body .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--primary-dark); }
.wp-block-navigation__responsive-container.is-menu-open .has-child .wp-block-navigation__submenu-container { box-shadow: none; border: 0; border-radius: 0; min-width: 0; max-width: none; padding: 0 0 0 1rem; background: transparent; }

/* v20261012011553: footer chữ to hơn (class has-small-font-size của WP dùng !important nên phải ép lại) */
.footer-cols p, .footer-cols p.has-small-font-size { font-size: 1rem !important; line-height: 1.75; }
.footer-cols h5 { font-size: 1.5rem !important; }
.footer-links p a { font-size: 1rem; }
.site-footer > .wp-block-group > p.has-text-align-center { font-size: 1rem !important; }

/* v20261012101221: breadcrumb, trang Liên hệ, Dự án đầu tư */
:root {
	--tn-i-tel: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/></svg>");
	--tn-i-mail: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/><path d='M22 6l-10 7L2 6'/></svg>");
	--tn-i-box: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 21h18M5 21V7l8-4v18M19 21V11l-6-3M9 9v.01M9 12v.01M9 15v.01M9 18v.01'/></svg>");
}
.page-hero .wp-block-shortcode { margin: 0; }
.tn-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: .6rem; font-size: .95rem; color: rgba(255,255,255,.85); }
.tn-crumbs a { color: #fff; text-decoration: none; }
.tn-crumbs a:hover { text-decoration: underline; }
.tn-crumbs [aria-hidden] { opacity: .6; }

/* Liên hệ */
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.875rem; align-items: start; }
.contact-card { background: #fff; border-radius: 10px; box-shadow: var(--wp--preset--shadow--card); padding: 2rem; }
.contact-card h3 { margin: 0 0 1.1rem; font-size: 1.4rem; font-weight: 600; }
.contact-card h3:not(:first-child) { margin-top: 1.8rem; }
.contact-line { display: flex; gap: .75rem; align-items: flex-start; margin: 0 0 .9rem !important; line-height: 1.6; }
.contact-line::before { content: ""; flex: 0 0 1.15rem; height: 1.15rem; margin-top: .3rem; background: var(--wp--preset--color--primary); -webkit-mask: var(--dl-i-pin) center / contain no-repeat; mask: var(--dl-i-pin) center / contain no-repeat; }
.contact-line--tel::before { -webkit-mask-image: var(--tn-i-tel); mask-image: var(--tn-i-tel); }
.contact-line--mail::before { -webkit-mask-image: var(--tn-i-mail); mask-image: var(--tn-i-mail); }
.contact-line a { color: inherit; text-decoration: none; }
.contact-line a:hover { color: var(--wp--preset--color--primary-dark); text-decoration: underline; }
.contact-map { border-radius: 10px; overflow: hidden; box-shadow: var(--wp--preset--shadow--card); }
.contact-map iframe { display: block; width: 100%; height: 420px; border: 0; }
.tn-form label { display: block; margin: 0 0 1rem; font-size: .9rem; font-weight: 600; }
.tn-form input, .tn-form textarea { display: block; width: 100%; box-sizing: border-box; margin-top: .35rem; padding: .7rem .9rem; border: 1px solid #cfd6dc; border-radius: 6px; background: #fff; color: inherit; font: inherit; font-weight: 400; }
.tn-form input:focus, .tn-form textarea:focus { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 0; border-color: transparent; }
.tn-form button { padding: .8rem 1.8rem; border: 0; border-radius: 6px; background: var(--wp--preset--color--primary-dark); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.tn-form button:hover { background: var(--wp--preset--color--primary); }
.tn-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tn-notice { margin: 0 0 1rem; padding: .8rem 1rem; border-radius: 6px; font-size: .95rem; }
.tn-notice--ok { background: #e6f6f2; color: #075e4e; }
.tn-notice--err { background: #fdecea; color: #8a1f17; }

/* Dự án đầu tư */
.proj-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 1.875rem; align-items: start; }
.proj-filter { background: #fff; border-radius: 10px; box-shadow: var(--wp--preset--shadow--card); padding: 1.4rem 1.5rem; }
.proj-filter h4 { margin: 0 0 .7rem; font-size: 1.1rem; font-weight: 600; }
.proj-filter h4:not(:first-child) { margin-top: 1.4rem; padding-top: 1.2rem; border-top: 1px solid #e3e8eb; }
.proj-filter ul { list-style: none; margin: 0; padding: 0; }
.proj-filter li { margin: 0; }
.proj-filter a { display: flex; justify-content: space-between; gap: .5rem; padding: .4rem 0; color: #3b454c; text-decoration: none; font-size: .95rem; }
.proj-filter a:hover, .proj-filter li.on > a { color: var(--wp--preset--color--primary-dark); font-weight: 600; }
.proj-filter li span { color: var(--wp--preset--color--muted); font-size: .85rem; }
.proj-filter li.clear a { color: #b3261e; font-size: .9rem; }
.proj-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 0 0 1.25rem; font-size: .95rem; }
.proj-sort span { color: var(--wp--preset--color--muted); }
.proj-sort a { color: #3b454c; text-decoration: none; padding: .2rem 0; border-bottom: 2px solid transparent; }
.proj-sort a.on, .proj-sort a:hover { color: var(--wp--preset--color--primary-dark); border-bottom-color: var(--wp--preset--color--primary); }
.proj-meta--scale .tour-meta__label::before { -webkit-mask-image: var(--tn-i-box); mask-image: var(--tn-i-box); }
.proj-status-text { font-weight: 700; font-size: .95rem; color: var(--wp--preset--color--primary-dark); }
.proj-info .tour-meta__label::before { display: none; }
.proj-info .tour-meta { align-items: flex-start; }
.proj-info .proj-row { padding: .45rem 0; border-bottom: 1px dashed #e3e8eb; }
.proj-info h5 { margin: 1.2rem 0 .4rem; }
.proj-info .wp-block-post-terms a { color: inherit; text-decoration: none; }
@media (max-width: 960px) { .proj-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 781px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } .contact-map iframe { height: 320px; } }
