/* =========================================================
   Dinao Korea: giao diện cho các element UX Builder (dnk_*)
   Màu lấy từ logo: xanh lá + vàng. Bo góc thống nhất 4px.
   ========================================================= */

:root {
  --dnk-forest: #0c3a23;       /* nền tối sang trọng */
  --dnk-green: #0f7a3b;        /* màu thương hiệu (chữ, link), đạt AA trên nền trắng */
  --dnk-green-bright: #13914a; /* xanh của logo */
  --dnk-gold: #f2c418;         /* vàng của logo, chỉ dùng cho nút chính */
  --dnk-gold-hover: #e3b507;
  --dnk-ink: #14211a;
  --dnk-muted: #56625a;
  --dnk-line: #dde3df;
  --dnk-surface: #f3f6f4;
  --dnk-white: #fdfefd;
  --dnk-radius: 4px;
  --dnk-container: 1200px;
  --dnk-font: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;
  --dnk-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---------- Nền tảng (ghi đè Flatsome) ---------- */
body,
.nav > li > a,
h1, h2, h3, h4, h5, h6,
.heading-font,
.alt-font,
button, input, select, textarea {
  font-family: var(--dnk-font);
}
body { color: var(--dnk-ink); background: var(--dnk-white); -webkit-font-smoothing: antialiased; }
a { color: var(--dnk-green); }
h1, h2, h3, h4 { color: var(--dnk-ink); font-weight: 600; letter-spacing: -0.015em; }

.dnk-container { width: 100%; max-width: var(--dnk-container); margin: 0 auto; padding: 0 24px; }

.dnk-section { position: relative; }
.dnk-pad-none { padding: 0; }
.dnk-pad-small { padding: 40px 0; }
.dnk-pad-normal { padding: 88px 0; }
.dnk-pad-large { padding: 128px 0; }
.dnk-bg-white { background: var(--dnk-white); }
.dnk-bg-muted { background: var(--dnk-surface); }
.dnk-bg-forest { background: var(--dnk-forest); color: #e7efe9; }
.dnk-bg-forest h2, .dnk-bg-forest h3 { color: #fff; }
.dnk-bg-forest .dnk-heading__text, .dnk-bg-forest .dnk-list-item__text { color: #c4d3c8; }

.dnk-eyebrow {
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--dnk-green);
}
.dnk-eyebrow--light { color: var(--dnk-gold); }

.dnk-heading { max-width: 680px; margin-bottom: 48px; }
.dnk-heading.dnk-align-center { margin-left: auto; margin-right: auto; text-align: center; }
.dnk-heading__title { margin: 0; font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem); line-height: 1.2; }
.dnk-heading__text { margin: 16px 0 0; font-size: 17px; line-height: 1.7; color: var(--dnk-muted); }
.dnk-heading-section .dnk-heading { margin-bottom: 0; }

.dnk-note { margin: 40px 0 0; max-width: 760px; font-size: 14px; line-height: 1.6; color: var(--dnk-muted); }

.dnk-img { display: block; width: 100%; height: auto; }
.dnk-ratio-4x5 { aspect-ratio: 4 / 5; object-fit: cover; }
.dnk-ratio-3x2 { aspect-ratio: 3 / 2; object-fit: cover; }
.dnk-ratio-4x3 { aspect-ratio: 4 / 3; object-fit: cover; }

/* ---------- Nút ---------- */
.dnk-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.dnk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 26px;
  border: 1px solid transparent;
  border-radius: var(--dnk-radius);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color .25s var(--dnk-ease), color .25s var(--dnk-ease), border-color .25s var(--dnk-ease), transform .15s var(--dnk-ease);
}
.dnk-btn:active { transform: translateY(1px); }
.dnk-btn--primary { background: var(--dnk-gold); color: var(--dnk-ink); }
.dnk-btn--primary:hover { background: var(--dnk-gold-hover); color: var(--dnk-ink); }
.dnk-btn--ghost { border-color: rgba(255, 255, 255, .7); color: #fff; background: rgba(12, 58, 35, .2); }
.dnk-btn--ghost:hover { background: #fff; color: var(--dnk-ink); }
.dnk-btn--outline { border-color: var(--dnk-green); color: var(--dnk-green); }
.dnk-btn--outline:hover { background: var(--dnk-green); color: #fff; }
.dnk-btn--link { min-height: 0; padding: 0 0 4px; border-radius: 0; border-bottom: 1px solid currentColor; color: var(--dnk-green); }
.dnk-btn--link:hover { color: var(--dnk-forest); }
.dnk-btn:focus-visible, .dnk-tabs__btn:focus-visible, .dnk-service:focus-visible { outline: 2px solid var(--dnk-green); outline-offset: 3px; }

.dnk-link-arrow { display: inline-flex; gap: 8px; align-items: center; font-weight: 600; font-size: 15px; color: var(--dnk-green); }
.dnk-link-arrow::after { content: "\2192"; transition: transform .3s var(--dnk-ease); }

/* ---------- Hero ---------- */
.dnk-hero { position: relative; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--dnk-forest); }
.dnk-hero--full { min-height: min(88dvh, 860px); }
.dnk-hero--page { min-height: 440px; }
.dnk-hero--compact { min-height: 300px; }
.dnk-hero__media, .dnk-hero__overlay { position: absolute; inset: 0; }
.dnk-hero__img { width: 100%; height: 100%; object-fit: cover; }
.dnk-hero__overlay {
  background:
    linear-gradient(0deg, rgba(8, 30, 18, calc(var(--dnk-overlay, .45) + .3)) 0%, rgba(8, 30, 18, 0) 65%),
    linear-gradient(90deg, rgba(8, 30, 18, calc(var(--dnk-overlay, .45) + .2)) 0%, rgba(8, 30, 18, calc(var(--dnk-overlay, .45) * .7)) 50%, rgba(8, 30, 18, calc(var(--dnk-overlay, .45) * .2)) 100%);
}
.dnk-hero__inner { position: relative; z-index: 1; padding-top: 96px; padding-bottom: 88px; }
.dnk-hero--page .dnk-hero__inner, .dnk-hero--compact .dnk-hero__inner { padding-top: 72px; padding-bottom: 56px; }
.dnk-hero__content { max-width: 720px; }
.dnk-hero__title, .dnk-heading__title, .dnk-split__title, .dnk-cta__title { text-wrap: balance; }
.dnk-hero__title { margin: 0; color: #fff; font-size: clamp(2.25rem, 1.4rem + 3.2vw, 3.75rem); line-height: 1.12; letter-spacing: -0.02em; }
.dnk-hero--page .dnk-hero__title, .dnk-hero--compact .dnk-hero__title { font-size: clamp(2rem, 1.4rem + 2.2vw, 3rem); }
.dnk-hero__text { margin: 20px 0 0; max-width: 520px; font-size: 18px; line-height: 1.65; color: rgba(255, 255, 255, .88); }

/* ---------- Ảnh + nội dung ---------- */
.dnk-split__grid { display: grid; grid-template-columns: 5fr 6fr; gap: 72px; align-items: center; }
.dnk-split--image-right .dnk-split__media { order: 2; }
.dnk-split__media img { border-radius: var(--dnk-radius); }
.dnk-split__title { margin: 0 0 24px; font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem); line-height: 1.2; }
.dnk-prose p { margin: 0 0 16px; font-size: 17px; line-height: 1.75; color: var(--dnk-muted); max-width: 62ch; }

/* ---------- Dịch vụ ---------- */
.dnk-services__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.dnk-service { display: block; color: inherit; text-decoration: none; }
.dnk-service__media { overflow: hidden; border-radius: var(--dnk-radius); }
.dnk-service__media img { transition: transform .8s var(--dnk-ease); }
.dnk-service__body { padding-top: 24px; }
.dnk-service__title { margin: 0; font-size: 24px; }
.dnk-service__text { margin: 10px 0 18px; max-width: 46ch; font-size: 16px; line-height: 1.7; color: var(--dnk-muted); }
a.dnk-service:hover .dnk-service__media img { transform: scale(1.04); }
a.dnk-service:hover .dnk-link-arrow::after { transform: translateX(4px); }

/* ---------- Khối CTA ---------- */
.dnk-cta__box {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  padding: 64px;
  overflow: hidden;
  border-radius: var(--dnk-radius);
  background: var(--dnk-forest);
  color: #fff;
}
.dnk-cta__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .28; }
.dnk-cta__content, .dnk-cta__action { position: relative; }
.dnk-cta__title { margin: 0; color: #fff; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.25rem); line-height: 1.2; }
.dnk-cta__text { margin: 12px 0 0; max-width: 560px; font-size: 17px; line-height: 1.65; color: #c9d8cd; }

/* ---------- Danh sách chữ ---------- */
.dnk-list__grid { display: grid; gap: 0 64px; }
.dnk-cols-2 { grid-template-columns: repeat(2, 1fr); }
.dnk-cols-3 { grid-template-columns: repeat(3, 1fr); }
.dnk-list-item { padding: 32px 0; border-top: 1px solid var(--dnk-line); }
.dnk-bg-forest .dnk-list-item { border-color: rgba(255, 255, 255, .16); }
.dnk-list-item__title { margin: 0; font-size: 21px; line-height: 1.35; }
.dnk-list-item__text { margin: 12px 0 0; font-size: 16px; line-height: 1.7; color: var(--dnk-muted); }
.dnk-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.dnk-tags li { margin: 0; padding: 6px 12px; border-radius: var(--dnk-radius); background: var(--dnk-surface); font-size: 13px; font-weight: 500; color: var(--dnk-green); }
.dnk-bg-muted .dnk-tags li { background: #fff; }

.dnk-cols-4 { grid-template-columns: repeat(4, 1fr); }
/* 5 mục trong lưới 3 cột: hàng trên 3 mục, hàng dưới 2 mục rộng hơn, không bị lẻ một ô trống */
@media (min-width: 768px) {
  .dnk-cols-3:has(> :nth-child(5):last-child) { grid-template-columns: repeat(6, 1fr); }
  .dnk-cols-3:has(> :nth-child(5):last-child) > * { grid-column: span 2; }
  .dnk-cols-3:has(> :nth-child(5):last-child) > :nth-child(n+4) { grid-column: span 3; }
}

/* Kiểu "Danh mục chữ lớn": mỗi mục một hàng, số, tên cỡ lớn, mô tả bên phải */
.dnk-list--index .dnk-list__grid { display: block; counter-reset: dnk-index; border-bottom: 1px solid var(--dnk-line); }
.dnk-list--index .dnk-list-item { position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr) minmax(0, 380px); align-items: baseline; column-gap: 32px; padding: 34px 0; counter-increment: dnk-index; }
.dnk-list--index .dnk-list-item::before { content: counter(dnk-index, decimal-leading-zero); font-size: 14px; font-weight: 600; letter-spacing: .08em; font-variant-numeric: tabular-nums; color: var(--dnk-green); }
.dnk-list--index .dnk-list-item::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--dnk-green); transform: scaleX(0); transform-origin: left; transition: transform .7s var(--dnk-ease); }
.dnk-list--index .dnk-list-item__title { font-size: clamp(1.75rem, 1.1rem + 2.2vw, 3rem); font-weight: 500; line-height: 1.1; letter-spacing: -0.035em; transition: transform .6s var(--dnk-ease), color .3s var(--dnk-ease); }
.dnk-list--index .dnk-list-item__text { margin: 0; font-size: 16px; line-height: 1.65; }
.dnk-list--index .dnk-list-item__icon, .dnk-list--index .dnk-list-item__media, .dnk-list--index .dnk-tags { display: none; }
.dnk-bg-forest.dnk-list--index .dnk-list__grid { border-color: rgba(255, 255, 255, .16); }
.dnk-bg-forest.dnk-list--index .dnk-list-item::before { color: var(--dnk-gold); }
.dnk-bg-forest.dnk-list--index .dnk-list-item::after { background: var(--dnk-gold); }
@media (hover: hover) {
  .dnk-list--index .dnk-list-item:hover::after { transform: scaleX(1); }
  .dnk-list--index .dnk-list-item:hover .dnk-list-item__title { transform: translateX(12px); color: var(--dnk-green); }
  .dnk-bg-forest.dnk-list--index .dnk-list-item:hover .dnk-list-item__title { color: var(--dnk-gold); }
}
@media (max-width: 767px) {
  .dnk-list--index .dnk-list-item { grid-template-columns: 40px minmax(0, 1fr); row-gap: 10px; padding: 26px 0; }
  .dnk-list--index .dnk-list-item__text { grid-column: 2; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-list--index .dnk-list-item::after, .dnk-list--index .dnk-list-item__title { transition: none; }
}

/* Kiểu "Bảng thông tin": tiêu đề bên trái, dòng nhãn – nội dung bên phải */
.dnk-profile { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
.dnk-profile__intro .dnk-heading { margin-bottom: 28px; }
.dnk-profile__list { margin: 0; border-top: 2px solid var(--dnk-ink); }
.dnk-profile__row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--dnk-line); }
.dnk-profile__label { margin: 0; padding-top: 4px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--dnk-muted); }
.dnk-profile__value { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.55; color: var(--dnk-ink); }
.dnk-profile__row:first-child .dnk-profile__value { font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); font-weight: 600; letter-spacing: -0.01em; }
.dnk-profile__value a { color: inherit; text-decoration: underline; text-decoration-color: var(--dnk-line); text-decoration-thickness: 1px; text-underline-offset: 5px; transition: text-decoration-color .3s var(--dnk-ease), color .3s var(--dnk-ease); }
.dnk-profile__value a:hover, .dnk-profile__value a:focus-visible { color: var(--dnk-green); text-decoration-color: currentColor; }
@media (max-width: 849px) {
  .dnk-profile { grid-template-columns: 1fr; gap: 8px; }
  .dnk-profile__row { grid-template-columns: 1fr; gap: 4px; padding: 16px 0; }
}

/* Kiểu "Thẻ có icon" */
.dnk-list--cards .dnk-list__grid { gap: 20px; }
.dnk-list--cards .dnk-list-item { padding: 28px; border: 1px solid var(--dnk-line); border-radius: 12px; background: #fff; transition: border-color .3s var(--dnk-ease), transform .3s var(--dnk-ease); }
.dnk-list--cards.dnk-bg-white .dnk-list-item { background: var(--dnk-surface); border-color: transparent; }
/* Thẻ trên nền xanh rừng: kính mờ, chữ sáng */
.dnk-list--cards.dnk-bg-forest .dnk-list-item { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.dnk-list--cards.dnk-bg-forest .dnk-list-item__icon { background: rgba(242, 196, 24, .14); color: var(--dnk-gold); }
@media (hover: hover) {
  .dnk-list--cards.dnk-bg-forest .dnk-list-item:hover { border-color: rgba(242, 196, 24, .45); }
  .dnk-list--cards.dnk-bg-forest .dnk-list-item:hover .dnk-list-item__icon { background: var(--dnk-gold); color: var(--dnk-forest); }
}
.dnk-list-item__icon { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 20px; border-radius: 12px; background: #e6f2ea; color: var(--dnk-green); }
.dnk-list--cards .dnk-list-item__title { font-size: 18px; }
.dnk-list--cards .dnk-list-item__text { margin-top: 8px; font-size: 15px; line-height: 1.65; }
@media (hover: hover) {
  .dnk-list--cards .dnk-list-item:hover { border-color: #c5d0c9; transform: translateY(-2px); }
}
/* Thẻ có icon: icon bên trái, chữ bên phải cho gọn; từ khóa thành một dòng phụ "Seogwipo · 18 lỗ" */
.dnk-list--cards .dnk-list-item:has(> .dnk-list-item__icon) { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 18px; align-content: start; padding: 24px; }
.dnk-list--cards .dnk-list-item:has(> .dnk-list-item__icon) > .dnk-list-item__icon { grid-row: 1 / span 3; margin: 0; }
.dnk-list--cards .dnk-list-item:has(> .dnk-list-item__icon) > :not(.dnk-list-item__icon) { grid-column: 2; }
.dnk-list--cards .dnk-tags { gap: 0; margin-top: 10px; }
.dnk-list--cards .dnk-tags li, .dnk-bg-muted.dnk-list--cards .dnk-tags li { padding: 0; border-radius: 0; background: none; font-size: 13px; font-weight: 600; color: var(--dnk-green); }
.dnk-list--cards .dnk-tags li + li::before { content: "\00b7"; margin: 0 8px; color: var(--dnk-muted); }
.dnk-list--cards .dnk-list-item__icon { transition: background-color .3s var(--dnk-ease), color .3s var(--dnk-ease); }
@media (hover: hover) {
  .dnk-list--cards .dnk-list-item:hover .dnk-list-item__icon { background: var(--dnk-green); color: #fff; }
  .dnk-list--cards.dnk-bg-white .dnk-list-item:hover { background: #fff; border-color: var(--dnk-line); box-shadow: 0 20px 40px -30px rgba(12, 58, 35, .45); }
}

/* Kiểu "Thẻ ảnh": ảnh phủ kín thẻ, tiêu đề và một dòng mô tả nằm trên lớp tối phía dưới */
.dnk-list--photos .dnk-list__grid { gap: 20px; }
.dnk-list--photos .dnk-list-item { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 340px; padding: 24px; overflow: hidden; border: 0; border-radius: 12px; background: var(--dnk-forest); isolation: isolate; }
.dnk-list--photos .dnk-list-item__media { position: absolute; inset: 0; z-index: -1; }
.dnk-list--photos .dnk-list-item__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--dnk-ease); }
.dnk-list--photos .dnk-list-item__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 30, 18, 0) 35%, rgba(8, 30, 18, .85) 100%); }
.dnk-list--photos .dnk-list-item__icon { width: 40px; height: 40px; margin-bottom: 14px; border-radius: 10px; background: rgba(255, 255, 255, .16); color: #fff; backdrop-filter: blur(6px); }
.dnk-list--photos .dnk-list-item__icon svg { width: 20px; height: 20px; }
.dnk-list--photos .dnk-list-item__title { font-size: 19px; color: #fff; }
.dnk-list--photos .dnk-list-item__text { margin-top: 6px; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .82); }
/* Từ khóa trên thẻ ảnh: một dòng phụ "Seogwipo · 18 lỗ" */
.dnk-list--photos .dnk-tags { gap: 0; margin-top: 8px; }
.dnk-list--photos .dnk-tags li, .dnk-bg-muted.dnk-list--photos .dnk-tags li { padding: 0; border-radius: 0; background: none; font-size: 14px; font-weight: 600; color: var(--dnk-gold); }
.dnk-list--photos .dnk-tags li + li::before { content: "\00b7"; margin: 0 8px; color: rgba(255, 255, 255, .6); }
@media (min-width: 768px) {
  .dnk-list--photos .dnk-cols-2 .dnk-list-item, .dnk-list--photos .dnk-cols-3 .dnk-list-item { padding: 28px; }
  .dnk-list--photos .dnk-cols-2 .dnk-list-item__title, .dnk-list--photos .dnk-cols-3 .dnk-list-item__title { font-size: 22px; }
}
@media (hover: hover) {
  .dnk-list--photos .dnk-list-item:hover .dnk-list-item__media img { transform: scale(1.05); }
}
/* 4 cột + đúng 4 thẻ: bố cục lưới lớn, thẻ đầu chiếm nửa trái, ảnh to */
@media (min-width: 768px) {
  .dnk-list--photos .dnk-cols-4 { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 300px; }
  .dnk-list--photos .dnk-cols-4 .dnk-list-item { min-height: 0; padding: 28px; }
  .dnk-list--photos .dnk-cols-4 .dnk-list-item:nth-child(4n+1) { grid-column: span 2; grid-row: span 2; padding: 40px; }
  .dnk-list--photos .dnk-cols-4 .dnk-list-item:nth-child(4n+2) { grid-column: span 2; }
  .dnk-list--photos .dnk-cols-4 .dnk-list-item:nth-child(4n+1) .dnk-list-item__title { font-size: 28px; }
  .dnk-list--photos .dnk-cols-4 .dnk-list-item:nth-child(4n+1) .dnk-list-item__text { font-size: 16px; }
  .dnk-list--photos .dnk-cols-4 .dnk-list-item__title { font-size: 21px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .dnk-list--photos .dnk-cols-4 { grid-auto-rows: 240px; }
}
/* Đúng 4 thẻ: rê chuột vào thẻ nào thì thẻ đó to ra, các thẻ khác co lại (đổi kích thước cột/hàng của lưới) */
@media (min-width: 768px) {
  .dnk-list--photos .dnk-cols-4:has(> .dnk-list-item:nth-child(4):last-child) {
    --c1: 1fr; --c2: 1fr; --c3: 1fr; --c4: 1fr; --r1: 1fr; --r2: 1fr;
    grid-template-columns: var(--c1) var(--c2) var(--c3) var(--c4);
    grid-template-rows: var(--r1) var(--r2);
    grid-template-areas: "a a b b" "a a c d";
    grid-auto-rows: auto;
    height: 620px;
    transition: grid-template-columns .7s var(--dnk-ease), grid-template-rows .7s var(--dnk-ease);
  }
  .dnk-list--photos .dnk-cols-4 > .dnk-list-item:nth-child(1) { grid-area: a; }
  .dnk-list--photos .dnk-cols-4 > .dnk-list-item:nth-child(2) { grid-area: b; }
  .dnk-list--photos .dnk-cols-4 > .dnk-list-item:nth-child(3) { grid-area: c; }
  .dnk-list--photos .dnk-cols-4 > .dnk-list-item:nth-child(4) { grid-area: d; }
  .dnk-list--photos .dnk-cols-4 .dnk-list-item__text { transition: opacity .4s var(--dnk-ease); }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .dnk-list--photos .dnk-cols-4:has(> .dnk-list-item:nth-child(4):last-child) { height: 500px; }
}
@media (min-width: 768px) and (hover: hover) {
  .dnk-list--photos .dnk-cols-4:has(> .dnk-list-item:nth-child(1):hover) { --c1: 1.3fr; --c2: 1.3fr; --c3: .7fr; --c4: .7fr; }
  .dnk-list--photos .dnk-cols-4:has(> .dnk-list-item:nth-child(2):hover) { --c1: .75fr; --c2: .75fr; --c3: 1.25fr; --c4: 1.25fr; --r1: 1.35fr; --r2: .65fr; }
  .dnk-list--photos .dnk-cols-4:has(> .dnk-list-item:nth-child(3):hover) { --c1: .75fr; --c2: .75fr; --c3: 1.6fr; --c4: .9fr; --r1: .65fr; --r2: 1.35fr; }
  .dnk-list--photos .dnk-cols-4:has(> .dnk-list-item:nth-child(4):hover) { --c1: .75fr; --c2: .75fr; --c3: .9fr; --c4: 1.6fr; --r1: .65fr; --r2: 1.35fr; }
  /* Thẻ bị co lại: ẩn dòng mô tả cho gọn */
  .dnk-list--photos .dnk-cols-4:has(> .dnk-list-item:hover) > .dnk-list-item:not(:hover) .dnk-list-item__text { opacity: 0; }
  .dnk-list--photos .dnk-cols-4 .dnk-list-item:hover .dnk-list-item__media img { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-list--photos .dnk-cols-4 { transition: none !important; }
}

/* Ảnh dưới tiêu đề của khối form */
.dnk-form-section__media { margin-top: 32px; overflow: hidden; border-radius: 12px; }
.dnk-form-section__media img { aspect-ratio: 4 / 3; object-fit: cover; }

/* Kiểu "Điểm nổi bật": thẻ trắng lớn, số thứ tự vàng; ngay dưới banner thì nổi lên đè mép banner */
.dnk-list--highlights .dnk-list__grid { gap: 20px; counter-reset: dnk-hl; }
.dnk-list--highlights .dnk-list-item {
  position: relative; padding: 32px 32px 40px; border: 1px solid rgba(12, 58, 35, .08); border-radius: 16px;
  background: #fff; box-shadow: 0 30px 60px -36px rgba(12, 58, 35, .45); counter-increment: dnk-hl;
  transition: transform .4s var(--dnk-ease), box-shadow .4s var(--dnk-ease);
}
/* Số thứ tự: chữ số lớn viền rỗng ở góc phải, như in chìm */
.dnk-list--highlights .dnk-list-item { overflow: hidden; }
.dnk-list--highlights .dnk-list-item::before {
  content: counter(dnk-hl, decimal-leading-zero);
  position: absolute; right: 18px; bottom: -18px;
  font-size: 104px; font-weight: 700; line-height: 1; letter-spacing: -.04em;
  color: transparent; -webkit-text-stroke: 1.5px rgba(15, 122, 59, .16);
  pointer-events: none; transition: -webkit-text-stroke-color .4s var(--dnk-ease), transform .5s var(--dnk-ease);
}
/* Gạch vàng ngắn ngay trên tiêu đề */
.dnk-list--highlights .dnk-list-item__title::before { content: ""; display: block; width: 36px; height: 4px; margin-bottom: 20px; border-radius: 2px; background: var(--dnk-gold); }
.dnk-list--highlights .dnk-list-item__title { position: relative; }
.dnk-list--highlights .dnk-list-item__text { position: relative; }
@media (hover: hover) {
  .dnk-list--highlights .dnk-list-item:hover::before { -webkit-text-stroke-color: rgba(242, 196, 24, .9); transform: translateY(-6px); }
}
.dnk-list--highlights .dnk-list-item__icon, .dnk-list--highlights .dnk-tags { display: none; }
.dnk-list--highlights .dnk-list-item__title { font-size: clamp(1.25rem, 1rem + .7vw, 1.5rem); line-height: 1.3; color: var(--dnk-forest); }
.dnk-list--highlights .dnk-list-item__text { margin-top: 10px; font-size: 16px; line-height: 1.6; }
@media (hover: hover) {
  .dnk-list--highlights .dnk-list-item:hover { transform: translateY(-6px); box-shadow: 0 36px 64px -34px rgba(12, 58, 35, .55); }
}
/* Ngay dưới banner: thẻ đè lên mép banner; tiêu đề khối chỉ để trình đọc màn hình đọc */
.dnk-hero + .dnk-list--highlights { display: flow-root; padding-top: 0; }
.dnk-hero + .dnk-list--highlights .dnk-list__grid { position: relative; z-index: 2; margin-top: -88px; }
.dnk-hero + .dnk-list--highlights .dnk-heading { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dnk-hero:has(+ .dnk-list--highlights) .dnk-hero__inner { padding-bottom: 152px; }

/* Kiểu "Các bước đánh số": dòng thời gian, mỗi bước một vòng tròn icon nối nhau bằng nét đứt */
.dnk-list__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 48px; margin-bottom: 56px; }
.dnk-list__head .dnk-heading { margin-bottom: 0; }
.dnk-list.has-bg { overflow: hidden; }
.dnk-list__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .16; pointer-events: none; }
.dnk-list.has-bg .dnk-container > :not(.dnk-list__bg) { position: relative; }

.dnk-list--steps .dnk-list__grid { gap: 48px 24px; counter-reset: dnk-step; }
.dnk-list--steps .dnk-list-item { position: relative; display: flex; flex-direction: column; padding: 0; border: 0; counter-increment: dnk-step; }
.dnk-list--steps .dnk-list-item__icon {
  position: relative; z-index: 1; display: inline-grid; place-items: center;
  width: 64px; height: 64px; margin: 0 0 28px; border-radius: 50%;
  background: var(--dnk-gold); color: var(--dnk-ink);
  box-shadow: 0 0 0 8px rgba(242, 196, 24, .14);
  transition: transform .4s var(--dnk-ease), box-shadow .4s var(--dnk-ease);
}
.dnk-list--steps .dnk-list-item__icon svg { width: 26px; height: 26px; }
/* Nét nối sang bước kế tiếp, chạy ngang qua tâm vòng tròn */
.dnk-list--steps .dnk-list-item:not(:last-child)::after {
  content: ""; position: absolute; top: 32px; left: 88px; right: -8px;
  border-top: 2px dashed rgba(23, 38, 26, .18);
}
.dnk-list--steps .dnk-list-item::before {
  content: "Bước " counter(dnk-step, decimal-leading-zero);
  order: 1; margin-bottom: 8px;
  font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--dnk-green);
}
.dnk-list--steps .dnk-list-item__icon { order: 0; }
.dnk-list--steps .dnk-list-item__title { order: 2; margin: 0; font-size: 22px; }
.dnk-list--steps .dnk-list-item__text { order: 3; margin-top: 8px; font-size: 16px; line-height: 1.6; }
@media (hover: hover) {
  .dnk-list--steps .dnk-list-item:hover .dnk-list-item__icon { transform: translateY(-4px); box-shadow: 0 0 0 12px rgba(242, 196, 24, .2); }
}
.dnk-bg-forest.dnk-list--steps .dnk-list-item::before { color: var(--dnk-gold); }
.dnk-bg-forest.dnk-list--steps .dnk-list-item:not(:last-child)::after { border-top-color: rgba(255, 255, 255, .28); }
.dnk-bg-forest.dnk-list--steps .dnk-list-item__text { color: #c4d3c8; }

/* Danh sách lợi ích có dấu tick (cạnh form) */
.dnk-checks { display: grid; gap: 14px; margin: 32px 0 0; padding: 0; list-style: none; }
.dnk-checks li { position: relative; margin: 0; padding-left: 34px; font-size: 16px; line-height: 1.55; color: var(--dnk-ink); }
.dnk-checks li::before { content: ""; position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; background: #e6f2ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7a3b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 12.5 3.2 3L17 9'/%3E%3C/svg%3E") center / 18px no-repeat; }

/* ---------- Skeleton ảnh (cùng cơ chế với dnk-blog: JS gắn .is-loaded khi ảnh tải xong) ---------- */
@keyframes dnk-shimmer { from { background-position: 150% 0; } to { background-position: -50% 0; } }
.dnk-js .dnk-gtour__media:not(.is-loaded),
.dnk-js .dnk-list-item__media:not(.is-loaded),
.dnk-js .dnk-form-section__media:not(.is-loaded),
.dnk-js .dnk-service__media:not(.is-loaded),
.dnk-js .dnk-place__media:not(.is-loaded) {
  background-color: #e8ede9;
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .65) 50%, rgba(255, 255, 255, 0) 80%);
  background-size: 200% 100%;
  animation: dnk-shimmer 1.4s ease-in-out infinite;
}
/* Thẻ ảnh có chữ trắng: skeleton tối để chữ vẫn đọc được trong lúc chờ */
.dnk-js .dnk-list--photos .dnk-list-item__media:not(.is-loaded) { background-color: #1d3a29; background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, 0) 80%); }
.dnk-js .dnk-gtour__media img,
.dnk-js .dnk-list-item__media img,
.dnk-js .dnk-form-section__media img,
.dnk-js .dnk-service__media img,
.dnk-js .dnk-place__media img { opacity: 0; transition: opacity .6s var(--dnk-ease), transform .8s var(--dnk-ease); }
.dnk-js .is-loaded > img, .dnk-js .is-loaded > .dnk-img { opacity: 1; }
/* Nhãn trên ảnh (điểm đến, số lịch trình) vẫn hiện trong lúc ảnh đang tải */

/* ---------- Địa điểm ---------- */
.dnk-places__grid { display: grid; gap: 48px 32px; }
.dnk-place__media { overflow: hidden; border-radius: var(--dnk-radius); }
.dnk-place__body { padding-top: 20px; }
.dnk-place__location { margin: 0 0 6px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--dnk-green); }
.dnk-place__title { margin: 0; font-size: 22px; }
.dnk-place__text { margin: 10px 0 0; font-size: 16px; line-height: 1.7; color: var(--dnk-muted); }

/* ---------- Đánh giá ---------- */
.dnk-testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.dnk-quote { display: flex; flex-direction: column; gap: 20px; margin: 0; padding: 28px; border: 1px solid rgba(12, 58, 35, .06); border-radius: 16px; background: #fff; box-shadow: 0 20px 44px -30px rgba(12, 58, 35, .35); }
.dnk-quote__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dnk-quote__mark { display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: #fdf4cf; color: #c99a00; }
.dnk-quote__stars { display: inline-flex; gap: 2px; color: #f2b705; font-size: 19px; line-height: 1; letter-spacing: 0; }
.dnk-quote__stars i { font-style: normal; }
.dnk-quote__text { flex: 1; margin: 0; padding: 0; border: 0; font-size: 17px; line-height: 1.65; color: var(--dnk-ink); font-style: normal; }
.dnk-quote__text::before { content: "\201C"; }
.dnk-quote__text::after { content: "\201D"; }
.dnk-quote__author { display: flex; align-items: center; gap: 14px; padding-top: 20px; border-top: 1px solid var(--dnk-line); }
.dnk-quote__author strong { display: block; font-size: 16px; font-weight: 700; letter-spacing: .01em; }
.dnk-quote__author small { display: block; margin-top: 2px; font-size: 14px; color: var(--dnk-muted); }
.dnk-quote__tour { display: block; margin-top: 3px; font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--dnk-green); text-decoration: none; }
.dnk-quote__tour:hover { text-decoration: underline; }
.dnk-quote__tour + small { margin-top: 1px; font-size: 13px; }
.dnk-quote__avatar { flex: none; width: 52px; height: 52px; border: 1px solid var(--dnk-line); border-radius: 50%; object-fit: cover; }
.dnk-quote__avatar--text { display: inline-grid; place-items: center; background: #e6f2ea; color: var(--dnk-green); font-size: 19px; font-weight: 700; }
.dnk-quote__avatar--art { display: block; border-color: rgba(12, 58, 35, .08); background: #fff; }

/* Băng chuyền: 3 thẻ (máy tính), thẻ so le cao thấp, hai mép mờ dần */
.dnk-reviews { position: relative; }
.dnk-reviews__viewport { margin: 0 -24px; padding: 8px 24px 40px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
.dnk-reviews__track { --dnk-gap: 24px; --dnk-per: 3; display: flex; align-items: flex-start; gap: var(--dnk-gap); will-change: transform; }
.dnk-reviews__track > .dnk-quote { flex: 0 0 calc((100% - (var(--dnk-per) - 1) * var(--dnk-gap)) / var(--dnk-per)); min-width: 0; }
.dnk-reviews__track > .dnk-quote.is-low { margin-top: 48px; }
/* Đang chạy: băng thẻ tràn hết bề ngang màn hình, thẻ rộng cố định */
.dnk-testimonials { overflow: hidden; overflow-x: clip; }
.dnk-reviews.is-ready .dnk-reviews__viewport { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding-left: 0; padding-right: 0; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%); }
.dnk-reviews.is-ready .dnk-reviews__track > .dnk-quote { flex: 0 0 400px; }
.dnk-reviews.is-running .dnk-reviews__track { animation: dnk-marquee var(--dnk-duration, 48s) linear infinite; }
.dnk-reviews.is-offscreen .dnk-reviews__track { animation-play-state: paused; }
@keyframes dnk-marquee { to { transform: translateX(calc(-50% - var(--dnk-gap) / 2)); } }
/* Chưa có JS (hoặc trong UX Builder): cuộn ngang bằng tay */
.dnk-reviews:not(.is-ready) .dnk-reviews__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.dnk-reviews:not(.is-ready) .dnk-quote { scroll-snap-align: start; }

/* ---------- Tour ---------- */
.dnk-tabs { display: inline-flex; gap: 4px; margin-bottom: 40px; padding: 4px; border-radius: var(--dnk-radius); background: var(--dnk-surface); }
.dnk-tabs__btn {
  margin: 0;
  min-height: 44px;
  padding: 0 22px;
  border: 0;
  border-radius: var(--dnk-radius);
  background: transparent;
  color: var(--dnk-muted);
  font-size: 15px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}
.dnk-tabs__btn.is-active { background: var(--dnk-forest); color: #fff; }
.dnk-tour { display: none; }
.dnk-tour.is-active { display: block; }
.dnk-tour__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.dnk-tour__summary { position: sticky; top: 110px; }
.dnk-tour__card { padding: 32px; border: 1px solid var(--dnk-line); border-radius: var(--dnk-radius); background: #fff; }
.dnk-tour__name { margin: 0; font-size: 20px; font-weight: 600; }
.dnk-tour__meta { margin: 6px 0 0; font-size: 14px; color: var(--dnk-muted); }
.dnk-tour__price { margin: 24px 0; padding: 20px 0; border-top: 1px solid var(--dnk-line); border-bottom: 1px solid var(--dnk-line); }
.dnk-tour__price span { display: block; font-size: 13px; color: var(--dnk-muted); }
.dnk-tour__price strong { display: block; margin-top: 4px; font-size: 30px; line-height: 1.2; color: var(--dnk-forest); }
.dnk-tour__price small { display: block; margin-top: 6px; font-size: 13px; color: var(--dnk-muted); }
.dnk-tour__includes { margin: 0 0 24px; padding: 0; list-style: none; }
.dnk-tour__includes li { position: relative; margin: 0 0 10px; padding-left: 18px; font-size: 15px; line-height: 1.5; }
.dnk-tour__includes li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 1px; background: var(--dnk-green); }
.dnk-tour__card .dnk-btn { width: 100%; }

.dnk-day { position: relative; padding: 0 0 40px 32px; border-left: 1px solid var(--dnk-line); }
.dnk-day:last-child { padding-bottom: 0; }
.dnk-day::before { content: ""; position: absolute; left: -5px; top: 6px; width: 9px; height: 9px; border-radius: 50%; background: var(--dnk-green); }
.dnk-day__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 18px; }
.dnk-day__label { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--dnk-green); }
.dnk-day__title { margin: 0; font-size: 20px; }
.dnk-day__body.has-image { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; }
.dnk-day__media img { border-radius: var(--dnk-radius); }

/* Ảnh lịch trình bấm để xem toàn màn hình */
.dnk-zoom { position: relative; display: block; align-self: start; overflow: hidden; border-radius: var(--dnk-radius); cursor: zoom-in; }
.dnk-zoom img { transition: opacity .6s var(--dnk-ease), transform .8s var(--dnk-ease); }
.dnk-zoom:focus-visible { outline: 2px solid var(--dnk-green); outline-offset: 3px; }
@media (hover: hover) {
  .dnk-zoom:hover img { transform: scale(1.05); }
}
.dnk-day__gallery { display: grid; gap: 8px; align-self: start; min-width: 0; }
.dnk-day__thumbs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.dnk-day__thumb { border-radius: var(--dnk-radius); }
.dnk-day__thumb.is-hidden { display: none; }
.dnk-day__thumb::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 2px transparent; transition: box-shadow .3s var(--dnk-ease); }
.dnk-day__more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(12, 58, 35, .62); color: #fff; font-size: 17px; font-weight: 700; }
@media (hover: hover) {
  .dnk-day__thumb:hover::after { box-shadow: inset 0 0 0 2px var(--dnk-gold); }
}
.dnk-js .dnk-day__media:not(.is-loaded), .dnk-js .dnk-day__thumb:not(.is-loaded) {
  background-color: #e8ede9;
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .65) 50%, rgba(255, 255, 255, 0) 80%);
  background-size: 200% 100%;
  animation: dnk-shimmer 1.4s ease-in-out infinite;
}
.dnk-js .dnk-day__media img, .dnk-js .dnk-day__thumb img { opacity: 0; }
.dnk-js .dnk-day__media.is-loaded img, .dnk-js .dnk-day__thumb.is-loaded img { opacity: 1; }

/* Lightbox */
.dnk-lightbox-open, .dnk-lightbox-open body { overflow: hidden; }
.dnk-lightbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 64px 88px; background: rgba(6, 18, 11, .98); opacity: 0; transition: opacity .3s var(--dnk-ease); }
.dnk-lightbox[hidden] { display: none; }
.dnk-lightbox.is-open { opacity: 1; }
.dnk-lightbox__stage { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; }
.dnk-lightbox__img { display: block; max-width: 100%; max-height: calc(100% - 48px); width: auto; height: auto; border-radius: 6px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .6); opacity: 0; transform: scale(.98); transition: opacity .35s var(--dnk-ease), transform .45s var(--dnk-ease); }
.dnk-lightbox.is-loaded .dnk-lightbox__img { opacity: 1; transform: none; }
.dnk-lightbox:not(.is-loaded) .dnk-lightbox__stage::before { content: ""; position: absolute; width: 40px; height: 40px; border: 3px solid rgba(255, 255, 255, .2); border-top-color: var(--dnk-gold); border-radius: 50%; animation: dnk-spin .8s linear infinite; }
@keyframes dnk-spin { to { transform: rotate(360deg); } }
.dnk-lightbox__caption { margin-top: 16px; font-size: 15px; font-weight: 600; color: #fff; text-align: center; }
.dnk-lightbox__count { position: absolute; top: 22px; left: 24px; margin: 0; font-size: 14px; font-weight: 600; color: rgba(255, 255, 255, .75); font-variant-numeric: tabular-nums; }
.dnk-lightbox__btn { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; min-height: 0; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff; cursor: pointer; transition: background-color .2s var(--dnk-ease), transform .2s var(--dnk-ease); }
.dnk-lightbox__btn[hidden] { display: none; }
.dnk-lightbox__btn:hover { background: rgba(255, 255, 255, .2); color: #fff; }
.dnk-lightbox__btn:focus-visible { outline: 2px solid var(--dnk-gold); outline-offset: 3px; }
.dnk-lightbox__close { top: 14px; right: 16px; }
.dnk-lightbox__prev { left: 20px; top: 50%; transform: translateY(-50%); }
.dnk-lightbox__next { right: 20px; top: 50%; transform: translateY(-50%); }
.dnk-lightbox__prev:hover { transform: translate(-2px, -50%); }
.dnk-lightbox__next:hover { transform: translate(2px, -50%); }
@media (max-width: 767px) {
  .dnk-lightbox { padding: 64px 12px 88px; }
  .dnk-lightbox__prev, .dnk-lightbox__next { top: auto; bottom: 20px; transform: none; }
  .dnk-lightbox__prev { left: calc(50% - 60px); }
  .dnk-lightbox__next { right: calc(50% - 60px); }
  .dnk-lightbox__prev:hover, .dnk-lightbox__next:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-lightbox, .dnk-lightbox__img, .dnk-zoom img { transition: none; }
  .dnk-zoom:hover img { transform: none; }
}
.dnk-day__schedule, .dnk-day__facts { margin: 0; }
.dnk-day__schedule div { display: grid; grid-template-columns: 64px 1fr; gap: 12px; padding: 6px 0; }
.dnk-day__schedule dt { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--dnk-forest); }
.dnk-day__schedule dd { margin: 0; color: var(--dnk-ink); }
.dnk-day__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--dnk-line); }
.dnk-day__facts dt { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--dnk-muted); }
.dnk-day__facts dd { margin: 2px 0 0; font-size: 15px; }

/* ---------- Danh sách golf tour ---------- */
.dnk-gtours__grid { display: grid; gap: 24px; }
.dnk-gtours__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dnk-gtours__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dnk-gtour { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--dnk-line); border-radius: var(--dnk-radius); background: #fff; transition: border-color .3s var(--dnk-ease), box-shadow .4s var(--dnk-ease), transform .4s var(--dnk-ease); }
.dnk-gtour__media { position: relative; display: block; overflow: hidden; background: var(--dnk-surface); }
.dnk-gtour__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .8s var(--dnk-ease); }
.dnk-gtour__placeholder { display: block; aspect-ratio: 16 / 10; }
.dnk-gtour__badge { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 5px; max-width: calc(100% - 24px); padding: 5px 10px 5px 8px; border-radius: var(--dnk-radius); background: rgba(12, 58, 35, .88); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.4; }
.dnk-gtour__body { display: flex; flex: 1; flex-direction: column; padding: 20px 20px 20px; }
.dnk-gtour__badge .dnk-ico { width: 14px; height: 14px; flex: none; }
.dnk-gtour__title { margin: 0; font-size: 19px; line-height: 1.35; }
.dnk-gtour__title a { color: var(--dnk-ink); text-decoration: none; }
.dnk-gtour__plans { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.dnk-gtour__plans li { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin: 0; padding: 10px 12px; border-radius: var(--dnk-radius); background: var(--dnk-surface); }
.dnk-gtour__fact { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--dnk-ink); font-variant-numeric: tabular-nums; }
.dnk-gtour__fact .dnk-ico { flex: none; color: var(--dnk-green); }
.dnk-gtour__count { position: absolute; top: 12px; right: 12px; padding: 4px 10px; border-radius: 999px; background: var(--dnk-gold); color: var(--dnk-ink); font-size: 12px; font-weight: 700; line-height: 1.4; }
.dnk-gtour__text { display: -webkit-box; margin: 14px 0 0; overflow: hidden; font-size: 14px; line-height: 1.6; color: var(--dnk-muted); -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dnk-gtour__foot { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 16px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--dnk-line); }
.dnk-gtour__body > :nth-last-child(2) { margin-bottom: 16px; }
.dnk-gtour .dnk-link-arrow { font-size: 14px; }
.dnk-gtour__price { margin: 0; }
.dnk-gtour__price span { display: block; font-size: 11px; color: var(--dnk-muted); }
.dnk-gtour__price strong { display: block; font-size: 17px; line-height: 1.3; color: var(--dnk-forest); }
@media (hover: hover) {
  .dnk-gtour:hover { border-color: #c5d0c9; box-shadow: 0 28px 48px -28px rgba(12, 58, 35, .5); transform: translateY(-6px); }
  .dnk-gtour:hover .dnk-gtour__media img { transform: scale(1.06); }
  .dnk-gtour__plans li { transition: background-color .3s var(--dnk-ease); }
  .dnk-gtour:hover .dnk-gtour__plans li { background: #e6f2ea; }
  .dnk-gtour__badge, .dnk-gtour__count { transition: transform .4s var(--dnk-ease); }
  .dnk-gtour:hover .dnk-gtour__badge { transform: translateY(-3px); }
  .dnk-gtour:hover .dnk-link-arrow::after { transform: translateX(4px); }
  .dnk-gtour__title a:hover { color: var(--dnk-green); }
}

/* ---------- Tuyển dụng ---------- */
.dnk-gtour[hidden] { display: none; }

/* Thanh tìm kiếm + bộ lọc golf tour (chỉ hiện khi có JS) */
.dnk-gfilter { display: none; position: relative; z-index: 2; margin: 0 0 56px; padding: 20px; border: 1px solid var(--dnk-line); border-radius: 12px; background: #fff; box-shadow: 0 24px 48px -28px rgba(12, 58, 35, .45); }
/* Ngay dưới banner: thanh tìm kiếm nổi lên đè mép dưới banner */
.dnk-js .dnk-blog-head + .dnk-gtours--filter { display: flow-root; padding-top: 0; } /* flow-root: margin âm không kéo cả nền trắng đè lên banner */
.dnk-js .dnk-blog-head + .dnk-gtours--filter .dnk-gfilter { margin-top: -80px; }
.dnk-js .dnk-blog-head:has(+ .dnk-gtours--filter) .dnk-blog-head__inner { padding-top: 96px; padding-bottom: 152px; } /* banner cao hơn, chừa chỗ để chữ không bị ô tìm kiếm che */
.dnk-blog-head:has(+ .dnk-gtours--filter) .dnk-blog-head__img { object-position: center 58%; }
.dnk-js .dnk-gfilter { display: block; }
.dnk-gfilter__top { display: flex; gap: 12px; }
.dnk-gfilter__search, .dnk-gfilter__select { position: relative; display: flex; align-items: center; margin: 0; }
.dnk-gfilter__search { flex: 1; min-width: 0; }
.dnk-gfilter__select { flex: 0 0 240px; }
.dnk-gfilter__search .dnk-ico, .dnk-gfilter__select .dnk-ico { position: absolute; left: 14px; color: var(--dnk-muted); pointer-events: none; }
.dnk-gfilter input[type="search"], .dnk-gfilter select {
  width: 100%; height: 48px; margin: 0; padding: 0 14px 0 42px;
  border: 1px solid var(--dnk-line); border-radius: 8px; background-color: var(--dnk-surface);
  box-shadow: none; font-size: 15px; color: var(--dnk-ink);
  transition: border-color .2s var(--dnk-ease), background-color .2s var(--dnk-ease);
}
.dnk-gfilter select { padding-right: 34px; cursor: pointer; }
.dnk-gfilter input[type="search"]:focus, .dnk-gfilter select:focus { border-color: var(--dnk-green); background-color: #fff; outline: none; box-shadow: 0 0 0 3px rgba(15, 122, 59, .14); }
.dnk-gfilter__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 32px; margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--dnk-line); }
.dnk-gfilter__group { min-width: 0; margin: 0; padding: 0; border: 0; }
.dnk-gfilter__legend { width: auto; margin: 0 0 8px; padding: 0; border: 0; line-height: 1.4; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--dnk-muted); }
.dnk-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.dnk-chip { position: relative; margin: 0; cursor: pointer; }
.dnk-chip input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.dnk-chip span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--dnk-line); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 500; color: var(--dnk-ink); white-space: nowrap; transition: background-color .2s var(--dnk-ease), border-color .2s var(--dnk-ease), color .2s var(--dnk-ease); }
.dnk-chip:hover span { border-color: var(--dnk-green); }
.dnk-chip input:checked + span { border-color: var(--dnk-forest); background: var(--dnk-forest); color: #fff; }
.dnk-chip input:focus-visible + span { outline: 2px solid var(--dnk-green); outline-offset: 2px; }
.dnk-gfilter__meta { display: flex; align-items: center; gap: 16px; margin-left: auto; min-height: 36px; }
.dnk-gfilter__count { margin: 0; font-size: 14px; font-weight: 600; color: var(--dnk-muted); white-space: nowrap; }
.dnk-gfilter__reset { margin: 0; padding: 0; min-height: 0; border: 0; background: none; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none; color: var(--dnk-green); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.dnk-gfilter__reset[hidden] { display: none; }
.dnk-gtours__nomatch { max-width: 640px; margin: 0 auto; padding: 40px 32px; border: 1px dashed #c5d0c9; border-radius: 12px; background: var(--dnk-surface); text-align: center; }
.dnk-gtours__nomatch[hidden] { display: none; }
.dnk-gtours__nomatch p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--dnk-muted); }
.dnk-gtours__nomatch .dnk-actions { justify-content: center; margin-top: 24px; }
.dnk-gtours__nomatch button.dnk-btn { margin: 0; text-transform: none; letter-spacing: 0; }

.dnk-empty { max-width: 640px; padding: 48px; border: 1px solid var(--dnk-line); border-radius: var(--dnk-radius); background: var(--dnk-surface); }
.dnk-empty__title { margin: 0; font-size: 22px; }
.dnk-empty__text { margin: 12px 0 28px; font-size: 16px; line-height: 1.7; color: var(--dnk-muted); }
.dnk-jobs__list { border-top: 1px solid var(--dnk-line); }
.dnk-job { display: flex; justify-content: space-between; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--dnk-line); color: inherit; text-decoration: none; }
.dnk-job__title { margin: 0; font-size: 19px; }
.dnk-job__meta, .dnk-job__deadline { margin: 6px 0 0; font-size: 14px; color: var(--dnk-muted); }

/* ---------- Form ---------- */
.dnk-form-section__grid { display: grid; grid-template-columns: 5fr 6fr; gap: 64px; align-items: start; }
.dnk-form-card { padding: 40px; border-radius: var(--dnk-radius); background: #fff; border: 1px solid var(--dnk-line); }
.dnk-form-card__title { margin: 0 0 24px; font-size: 22px; }
.dnk-cf7 p { margin: 0 0 18px; }
.dnk-cf7 label { display: block; font-size: 14px; font-weight: 600; color: var(--dnk-ink); }
.dnk-cf7 .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.dnk-cf7 input[type=text], .dnk-cf7 input[type=email], .dnk-cf7 input[type=tel], .dnk-cf7 select, .dnk-cf7 textarea {
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid #c9d1cc;
  border-radius: var(--dnk-radius);
  background: #fff;
  box-shadow: none;
  font-size: 16px;
  color: var(--dnk-ink);
}
.dnk-cf7 textarea { min-height: 120px; }
.dnk-cf7 input:focus, .dnk-cf7 select:focus, .dnk-cf7 textarea:focus { border-color: var(--dnk-green); outline: 2px solid rgba(15, 122, 59, .2); outline-offset: 0; box-shadow: none; }
.dnk-cf7 ::placeholder { color: #6b756f; }
.dnk-cf7 .wpcf7-submit {
  width: 100%;
  min-height: 52px;
  margin: 8px 0 0;
  border: 0;
  border-radius: var(--dnk-radius);
  background: var(--dnk-gold);
  color: var(--dnk-ink);
  font-size: 16px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.dnk-cf7 .wpcf7-submit:hover { background: var(--dnk-gold-hover); }
.dnk-cf7 .wpcf7-not-valid-tip { margin-top: 6px; font-size: 13px; color: #b42318; }
.dnk-cf7 .wpcf7-response-output { margin: 16px 0 0 !important; padding: 12px 14px !important; border-radius: var(--dnk-radius); font-size: 14px; }
.dnk-form-hint { font-size: 13px; color: var(--dnk-muted); }
.dnk-cf7 select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2356625a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}
.dnk-cf7 .wpcf7-not-valid { border-color: #b42318; }
.dnk-cf7 .wpcf7-submit { transition: background-color .2s var(--dnk-ease), transform .15s var(--dnk-ease); }
.dnk-cf7 .wpcf7-submit:active { transform: translateY(1px); }
.dnk-cf7.submitting .wpcf7-submit { opacity: .7; cursor: progress; }
.dnk-cf7 .wpcf7-spinner { margin: 12px auto 0; display: block; }
.dnk-cf7.sent .wpcf7-response-output { border-color: var(--dnk-green) !important; background: #e8f3ec; color: var(--dnk-forest); }
.dnk-cf7.invalid .wpcf7-response-output, .dnk-cf7.failed .wpcf7-response-output, .dnk-cf7.unaccepted .wpcf7-response-output { border-color: #b42318 !important; background: #fdf0ee; color: #8f1d14; }

/* ---------- Liên hệ: form một bên, thông tin + bản đồ một bên ---------- */
/* Đầu trang dùng chung .dnk-blog-head (dnk-blog.css); trang Liên hệ cao hơn một chút cho ảnh thoáng */
.dnk-page-head .dnk-blog-head__inner { padding-top: 48px; padding-bottom: 88px; }
.dnk-contact.dnk-pad-large { padding: 64px 0 96px; }
.dnk-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: stretch; }

/* Form */
.dnk-contact__form { padding: 40px; border: 1px solid var(--dnk-line); border-radius: var(--dnk-radius); background: #fff; box-shadow: 0 20px 48px -36px rgba(12, 58, 35, .35); }
.dnk-contact__form-title { margin: 0; font-size: 22px; line-height: 1.3; }
.dnk-contact__form-text { margin: 8px 0 28px; font-size: 15px; line-height: 1.6; color: var(--dnk-muted); }
/* Họ tên + số điện thoại cùng một hàng */
.dnk-contact__form .dnk-cf7 { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.dnk-contact__form .dnk-cf7 > * { grid-column: 1 / -1; }
.dnk-contact__form .dnk-cf7 > p:nth-of-type(1), .dnk-contact__form .dnk-cf7 > p:nth-of-type(2) { grid-column: auto; }

/* Thông tin + bản đồ */
.dnk-contact__info { display: flex; flex-direction: column; padding: 12px 32px 32px; border-radius: var(--dnk-radius); background: var(--dnk-surface); }
.dnk-contact__rows { margin: 0; padding: 0; list-style: none; }
.dnk-contact-row { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: start; margin: 0; padding: 20px 0; border-bottom: 1px solid var(--dnk-line); }
.dnk-contact-row__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1px var(--dnk-line); font-size: 16px; color: var(--dnk-green); }
.dnk-contact-row__icon i { line-height: 1; }
.dnk-contact-row__body { display: flex; flex-direction: column; min-width: 0; padding-top: 1px; }
.dnk-contact-row__label { font-size: 13px; font-weight: 500; color: var(--dnk-muted); }
.dnk-contact-row__value { margin-top: 2px; font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--dnk-ink); overflow-wrap: anywhere; }
.dnk-contact-row__value a { color: var(--dnk-ink); text-decoration: none; }
.dnk-contact-row__value a:hover { color: var(--dnk-green); }
.dnk-contact-row__dir { align-self: flex-start; margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--dnk-green); text-decoration: none; }
.dnk-contact-row__dir::after { content: " \2197"; }
.dnk-contact-row__dir:hover { text-decoration: underline; text-underline-offset: 3px; }
.dnk-contact-row a:focus-visible { outline: 2px solid var(--dnk-green); outline-offset: 2px; }

.dnk-contact-map { display: flex; flex-direction: column; flex: 1; margin-top: 24px; scroll-margin-top: 100px; }
.dnk-contact-map__tabs { display: inline-flex; align-self: flex-start; gap: 4px; margin-bottom: 12px; padding: 4px; border-radius: var(--dnk-radius); background: #fff; box-shadow: inset 0 0 0 1px var(--dnk-line); }
.dnk-contact-map__tab {
  min-height: 34px;
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-radius: var(--dnk-radius);
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--dnk-muted);
  cursor: pointer;
  transition: background-color .2s var(--dnk-ease), color .2s var(--dnk-ease);
}
.dnk-contact-map__tab:hover { color: var(--dnk-ink); }
.dnk-contact-map__tab.is-active { background: var(--dnk-forest); color: #fff; }
.dnk-contact-map__tab:focus-visible { outline: 2px solid var(--dnk-green); outline-offset: 2px; }
.dnk-contact-map__frame { position: relative; flex: 1; min-height: 280px; overflow: hidden; border-radius: var(--dnk-radius); background: #e4e9e6; }
.dnk-contact-map__frame iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
/* Skeleton bản đồ: nền nhấp nháy + ghim, iframe hiện dần khi tải xong. Không có JS thì iframe hiện như thường */
.dnk-contact-map__skeleton { display: none; }
.dnk-js .dnk-contact-map__frame:not(.is-loaded) .dnk-contact-map__skeleton {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: #e4e9e6;
  background-image:
    linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .6) 50%, rgba(255, 255, 255, 0) 80%),
    linear-gradient(0deg, transparent 47%, rgba(255, 255, 255, .55) 47%, rgba(255, 255, 255, .55) 53%, transparent 53%),
    linear-gradient(90deg, transparent 47%, rgba(255, 255, 255, .55) 47%, rgba(255, 255, 255, .55) 53%, transparent 53%);
  background-size: 200% 100%, 120px 120px, 160px 160px;
  animation: dnk-shimmer 1.4s ease-in-out infinite;
  font-size: 13px;
  font-weight: 500;
  color: var(--dnk-muted);
}
.dnk-contact-map__skeleton i { font-size: 28px; line-height: 1; color: var(--dnk-green); animation: dnk-pin-bob 1.2s var(--dnk-ease) infinite alternate; }
@keyframes dnk-pin-bob { from { transform: translateY(0); } to { transform: translateY(-6px); } }
.dnk-js .dnk-contact-map__frame iframe { opacity: 0; transition: opacity .5s var(--dnk-ease); }
.dnk-js .dnk-contact-map__frame.is-loaded iframe { opacity: 1; }

/* Hover (chỉ thiết bị có chuột) */
.dnk-contact-row__icon { transition: background-color .3s var(--dnk-ease), color .3s var(--dnk-ease), box-shadow .3s var(--dnk-ease), transform .3s var(--dnk-ease); }
.dnk-contact-row__value a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: color .25s var(--dnk-ease), background-size .35s var(--dnk-ease); }
.dnk-contact-row__dir::after { display: inline-block; transition: transform .25s var(--dnk-ease); }
@media (hover: hover) {
  .dnk-contact-row:hover .dnk-contact-row__icon { background: var(--dnk-green); box-shadow: none; color: #fff; transform: scale(1.06); }
  .dnk-contact-row__value a:hover { background-size: 100% 1px; color: var(--dnk-green); }
  .dnk-contact-row__dir:hover { text-decoration: none; }
  .dnk-contact-row__dir:hover::after { transform: translate(2px, -2px); }
  .dnk-contact-map__tab:not(.is-active):hover { background: var(--dnk-surface); }
  .dnk-cf7 input[type=text]:hover, .dnk-cf7 input[type=email]:hover, .dnk-cf7 input[type=tel]:hover, .dnk-cf7 select:hover, .dnk-cf7 textarea:hover { border-color: #a9b5ae; }
  .dnk-cf7 input:focus:hover, .dnk-cf7 select:focus:hover, .dnk-cf7 textarea:focus:hover { border-color: var(--dnk-green); }
  .dnk-cf7 .wpcf7-submit:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -14px rgba(150, 115, 0, .7); }
}
.dnk-cf7 .wpcf7-submit { transition: background-color .2s var(--dnk-ease), transform .2s var(--dnk-ease), box-shadow .2s var(--dnk-ease); }
.dnk-cf7 input[type=text], .dnk-cf7 input[type=email], .dnk-cf7 input[type=tel], .dnk-cf7 select, .dnk-cf7 textarea { transition: border-color .2s var(--dnk-ease), background-color .2s var(--dnk-ease); }

/* Dòng liên hệ dạng danh sách (chỉ hiện trong UX Builder để sửa trực tiếp) */
.dnk-contact__list { margin: 0; }
.dnk-contact__item { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--dnk-line); }
.dnk-contact__item dt { margin: 0; font-size: 14px; font-weight: 600; color: var(--dnk-muted); }
.dnk-contact__item dd { margin: 0; font-size: 16px; line-height: 1.6; }

/* ---------- Chân trang ---------- */
.dnk-footer { padding: 80px 0 32px; background: var(--dnk-forest); color: #c4d3c8; }
.dnk-footer a { color: #e9f0eb; text-decoration: none; }
.dnk-footer a:hover { color: var(--dnk-gold); }
.dnk-footer__grid { display: grid; grid-template-columns: 1.6fr 1.4fr 1fr 1fr; gap: 48px; }
.dnk-footer__logo { display: inline-block; padding: 12px 16px; border-radius: var(--dnk-radius); background: #fff; }
.dnk-footer__logo-img { width: 150px; height: auto; }
.dnk-footer__company { margin: 24px 0 0; font-size: 14px; font-weight: 600; letter-spacing: .02em; color: #fff; }
.dnk-footer__about { margin: 12px 0 0; max-width: 40ch; font-size: 15px; line-height: 1.7; }
.dnk-footer__heading { margin: 0 0 18px; font-size: 14px; font-weight: 600; color: #fff; }
.dnk-footer__col ul { margin: 0; padding: 0; list-style: none; }
.dnk-footer__col li { margin: 0 0 12px; font-size: 15px; }
.dnk-footer__contacts { margin: 0; }
.dnk-footer__contacts div { margin-bottom: 14px; }
.dnk-footer__contacts dt { margin: 0; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: #8fa596; }
.dnk-footer__contacts dd { margin: 2px 0 0; font-size: 15px; line-height: 1.6; color: #e9f0eb; }
/* Bản đồ trong chân trang: hàng ngang dưới các cột, tiêu đề và tab trên cùng một dòng */
.dnk-contact-map__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-bottom: 16px; }
.dnk-contact-map__head .dnk-contact-map__tabs { margin-bottom: 0; }
.dnk-contact-map__title { margin: 0; font-size: 14px; font-weight: 600; color: #fff; }
.dnk-contact-map--dark { margin-top: 0; }
@media (min-width: 1025px) {
  /* Logo và cột Liên hệ cao hai hàng; hàng 1 là hai cột link, hàng 2 là bản đồ ngay dưới */
  .dnk-footer__grid:has(> .dnk-contact-map) { row-gap: 32px; }
  .dnk-footer__grid:has(> .dnk-contact-map) > .dnk-footer__brand { grid-column: 1; grid-row: 1 / span 2; }
  .dnk-footer__grid:has(> .dnk-contact-map) > div.dnk-footer__col { grid-column: 2; grid-row: 1 / span 2; }
  .dnk-footer__grid > .dnk-contact-map { grid-column: 3 / -1; grid-row: 2; }
}
@media (max-width: 1024px) {
  .dnk-footer__grid > .dnk-contact-map { grid-column: 1 / -1; }
}
.dnk-contact-map--dark .dnk-contact-map__tabs { background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.dnk-contact-map--dark .dnk-contact-map__tab { color: #c4d3c8; }
.dnk-contact-map--dark .dnk-contact-map__tab:hover { color: #fff; }
.dnk-contact-map--dark .dnk-contact-map__tab.is-active { background: #fff; color: var(--dnk-forest); }
.dnk-contact-map--dark .dnk-contact-map__tab:focus-visible { outline-color: var(--dnk-gold); }
.dnk-contact-map--dark .dnk-contact-map__frame { flex: none; height: 180px; min-height: 0; border-radius: 8px; background: #1b4a32; }
.dnk-js .dnk-contact-map--dark .dnk-contact-map__frame:not(.is-loaded) .dnk-contact-map__skeleton { background-color: #1b4a32; color: #c4d3c8; background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .08) 50%, rgba(255, 255, 255, 0) 80%), linear-gradient(0deg, transparent 47%, rgba(255, 255, 255, .06) 47%, rgba(255, 255, 255, .06) 53%, transparent 53%), linear-gradient(90deg, transparent 47%, rgba(255, 255, 255, .06) 47%, rgba(255, 255, 255, .06) 53%, transparent 53%); }
.dnk-contact-map--dark .dnk-contact-map__skeleton i { color: var(--dnk-gold); }
@media (max-width: 767px) {
  .dnk-contact-map--dark .dnk-contact-map__frame { height: 180px; }
}
.dnk-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-top: 64px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 14px; }
.dnk-footer__bottom p { margin: 0; }
.dnk-footer__socials { display: flex; gap: 24px; margin: 0; padding: 0; list-style: none; }
.dnk-footer__socials li { margin: 0; }

/* Flatsome tự in hoa dl/dt: trả lại chữ thường */
.dnk-section dl, .dnk-section dl div, .dnk-section dd, .dnk-footer dl, .dnk-footer dl div, .dnk-footer dd { text-transform: none; }
.dnk-section dt, .dnk-section dd, .dnk-footer dt, .dnk-footer dd { display: block; float: none; width: auto; }
/* Footer dùng UX Block riêng nên ẩn dòng bản quyền mặc định của Flatsome */
.footer-wrapper .absolute-footer { display: none; }

/* ---------- Header Flatsome ---------- */
.header-main { border-bottom: 1px solid var(--dnk-line); }
.header-nav .nav-top-link, .header-nav > li > a { font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.header .button.primary, .header .header-button a.button { border-radius: var(--dnk-radius); background: var(--dnk-gold); color: var(--dnk-ink); text-transform: none; letter-spacing: 0; font-weight: 600; }
.header .header-button a.button:hover { background: var(--dnk-gold-hover); box-shadow: none; }
.nav-dropdown { border-radius: var(--dnk-radius); }
.nav-dropdown li a { font-size: 15px; }

/* Khung header rộng bằng khung nội dung (.dnk-container: 1200px, lề 24px) để logo thẳng hàng với nội dung */
.header-main .header-inner,
.header-top .container,
.header-bottom .container { max-width: var(--dnk-container); padding-left: 24px; padding-right: 24px; }

@media (min-width: 850px) {
  /* Menu chính: giãn khoảng cách, gạch chân chạy khi rê chuột, đánh dấu mục đang xem */
  .header-nav-main.nav-right > li { margin: 0 16px; }
  .header-nav-main.nav-right > li:first-child { margin-left: 0; }
  .header-nav-main.nav-right > li.header-button-1 { margin: 0 0 0 20px; }
  .header-nav-main > li > a.nav-top-link { position: relative; padding: 12px 0; color: var(--dnk-ink); transition: color .2s var(--dnk-ease); }
  .header-nav-main > li > a.nav-top-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
    height: 2px;
    border-radius: 1px;
    background: var(--dnk-green);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s var(--dnk-ease);
  }
  .header-nav-main > li > a.nav-top-link:hover,
  .header-nav-main > li.current-menu-item > a.nav-top-link,
  .header-nav-main > li.current-menu-ancestor > a.nav-top-link,
  .header-nav-main > li.current_page_parent > a.nav-top-link,
  .header-nav-main > li.active > a.nav-top-link { color: var(--dnk-green); }
  .header-nav-main > li > a.nav-top-link:hover::after,
  .header-nav-main > li.current-menu-item > a.nav-top-link::after,
  .header-nav-main > li.current-menu-ancestor > a.nav-top-link::after,
  .header-nav-main > li.current_page_parent > a.nav-top-link::after,
  .header-nav-main > li.active > a.nav-top-link::after { transform: scaleX(1); }
  /* Mũi tên mục có menu con: cách chữ một chút, xoay khi mở */
  .header-nav-main > li > a.nav-top-link .icon-angle-down { margin-left: 4px; opacity: .6; transition: transform .25s var(--dnk-ease); }
  .header-nav-main > li:hover > a.nav-top-link .icon-angle-down { transform: rotate(180deg); }

  .header .header-button a.button { min-height: 42px; padding: 0 20px; font-size: 14px; line-height: 42px; }
}

/* Màn vừa (laptop nhỏ): thu khoảng cách để menu vẫn nằm trên một dòng */
@media (min-width: 850px) and (max-width: 1100px) {
  .header-nav-main.nav-right > li { margin: 0 10px; }
  .header-nav-main.nav-right > li.header-button-1 { margin-left: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .header-nav-main > li > a.nav-top-link::after, .header-nav-main > li > a.nav-top-link .icon-angle-down { transition: none; }
}

/* ---------- Dịch vụ kiểu Trình diễn: ảnh cao, chữ trên ảnh, thẻ được rê chuột nở rộng ---------- */
.dnk-services--showcase .dnk-services__grid { display: flex; gap: 20px; }
.dnk-services--showcase .dnk-service { position: relative; flex: 1 1 0; min-width: 0; min-height: 620px; overflow: hidden; border-radius: 16px; color: #fff; background: var(--dnk-forest); isolation: isolate; transition: flex-grow .8s var(--dnk-ease), box-shadow .5s var(--dnk-ease); }
.dnk-services--showcase .dnk-service::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 30, 18, 0) 28%, rgba(8, 30, 18, .5) 58%, rgba(8, 30, 18, .94) 100%); }
.dnk-services--showcase .dnk-service__media { position: absolute; inset: 0; z-index: -2; border-radius: 0; }
.dnk-services--showcase .dnk-service__media img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transition: opacity .6s var(--dnk-ease), transform 1.4s var(--dnk-ease); }
.dnk-js .dnk-services--showcase .dnk-service__media:not(.is-loaded) { background-color: #1d3a29; background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .08) 50%, rgba(255, 255, 255, 0) 80%); }
.dnk-services--showcase .dnk-service__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 44px; }
.dnk-service__eyebrow { margin: 0 0 14px; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--dnk-gold); }
.dnk-services--showcase .dnk-service__title { color: #fff; font-size: clamp(1.9rem, 1.3rem + 1.6vw, 2.6rem); line-height: 1.1; letter-spacing: -0.02em; }
.dnk-services--showcase .dnk-service__text { margin: 14px 0 0; max-width: 44ch; font-size: 16px; color: rgba(255, 255, 255, .86); }
.dnk-service__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.dnk-service__tags li { margin: 0; padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; background: rgba(255, 255, 255, .1); font-size: 13px; font-weight: 500; color: #fff; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.dnk-services--showcase .dnk-link-arrow { margin-top: 28px; min-height: 48px; padding: 0 24px; border-radius: var(--dnk-radius); background: var(--dnk-gold); color: var(--dnk-ink); }
@media (hover: hover) and (min-width: 900px) {
  .dnk-services--showcase .dnk-services__grid:hover .dnk-service { flex-grow: 1; }
  .dnk-services--showcase .dnk-services__grid .dnk-service:hover { flex-grow: 1.5; box-shadow: 0 40px 80px -40px rgba(12, 58, 35, .6); }
  .dnk-services--showcase a.dnk-service:hover .dnk-service__media img { transform: scale(1.06); }
}

/* ---------- Logo trường kiểu "Ô logo" ---------- */
.dnk-ltiles { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 64px; align-items: center; }
.dnk-ltiles__intro .dnk-heading { margin-bottom: 0; }
.dnk-logos--tiles .dnk-heading__title { font-size: clamp(1.75rem, 1.2rem + 1.8vw, 2.5rem); }
.dnk-ltiles__count { display: flex; align-items: center; gap: 16px; margin: 28px 0 32px; padding: 20px 0; border-top: 1px solid var(--dnk-line); border-bottom: 1px solid var(--dnk-line); }
.dnk-ltiles__count strong { flex: none; font-size: 64px; font-weight: 700; line-height: 1; letter-spacing: -0.04em; color: var(--dnk-green); font-variant-numeric: tabular-nums; }
.dnk-ltiles__count span { font-size: 15px; line-height: 1.5; color: var(--dnk-muted); }
.dnk-ltiles__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 16px; border-radius: 20px; background: var(--dnk-surface); list-style: none; }
.dnk-ltile { margin: 0; }
.dnk-ltile > a, .dnk-ltile > div { display: flex; flex-direction: column; align-items: center; gap: 14px; height: 100%; padding: 22px 14px 18px; border-radius: 14px; background: #fff; color: var(--dnk-ink); text-decoration: none; transition: transform .35s var(--dnk-ease), box-shadow .35s var(--dnk-ease); }
.dnk-ltile__logo { display: grid; place-items: center; width: 100%; height: 72px; }
/* multiply: nền trắng hoặc xám có sẵn trong file logo hòa vào ô trắng */
.dnk-ltile__img { display: block; width: auto; max-width: 100%; max-height: 72px; object-fit: contain; mix-blend-mode: multiply; }
.dnk-ltile__name { display: -webkit-box; overflow: hidden; font-size: 13px; font-weight: 600; line-height: 1.4; text-align: center; color: var(--dnk-muted); -webkit-line-clamp: 2; -webkit-box-orient: vertical; transition: color .3s var(--dnk-ease); }
.dnk-ltile > a:focus-visible { outline: 2px solid var(--dnk-green); outline-offset: 2px; }
@media (hover: hover) {
  .dnk-ltile > a:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -24px rgba(12, 58, 35, .45); }
  .dnk-ltile > a:hover .dnk-ltile__name { color: var(--dnk-green); }
}
/* Ô logo chạy ngang: hai hàng ngược chiều trong khung xám, dừng khi rê chuột */
.dnk-ltiles__marquee { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; overflow: hidden; padding: 16px 0; }
.dnk-ltiles__row { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%); }
.dnk-ltiles__track { display: flex; width: max-content; animation: dnk-logos var(--dnk-logo-duration, 30s) linear infinite; }
.dnk-ltiles__row.is-reverse .dnk-ltiles__track { animation-direction: reverse; }
.dnk-ltiles__track ul { display: flex; gap: 12px; margin: 0; padding: 0 12px 0 0; list-style: none; }
.dnk-ltiles__marquee .dnk-ltile { flex: none; width: 190px; }
.dnk-ltiles__marquee .dnk-ltile > a, .dnk-ltiles__marquee .dnk-ltile > div { height: 164px; justify-content: center; }
.dnk-ltiles__marquee:hover .dnk-ltiles__track, .dnk-ltiles__marquee:focus-within .dnk-ltiles__track { animation-play-state: paused; }
.dnk-uxb .dnk-ltiles__track { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .dnk-ltiles__track { width: auto; animation: none; }
  .dnk-ltiles__track ul { flex-wrap: wrap; padding: 0 16px; }
  .dnk-ltiles__track ul[aria-hidden="true"], .dnk-ltiles__track .dnk-ltile[aria-hidden="true"] { display: none; }
  .dnk-ltiles__row { -webkit-mask-image: none; mask-image: none; }
}

/* Con số trên nền trắng: đặt trong khung xám nhạt cho nổi */
.dnk-bg-white.dnk-stats .dnk-stats__grid { padding: 44px 16px; border-radius: 20px; background: var(--dnk-surface); }
.dnk-bg-white.dnk-stats .dnk-stat + .dnk-stat { border-color: #d5ddd8; }
.dnk-bg-white.dnk-stats .dnk-stat__label { color: var(--dnk-ink); }

@media (max-width: 1024px) {
  .dnk-ltiles { grid-template-columns: 1fr; gap: 36px; }
  .dnk-ltiles__count { margin: 24px 0; }
}
@media (max-width: 767px) {
  .dnk-ltiles__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 10px; border-radius: 16px; }
  .dnk-ltiles__grid.dnk-ltiles__marquee { grid-template-columns: minmax(0, 1fr); padding: 10px 0; margin: 0 -8px; }
  .dnk-ltiles__track ul { gap: 10px; padding-right: 10px; }
  .dnk-ltiles__marquee .dnk-ltile { width: 150px; }
  .dnk-ltiles__marquee .dnk-ltile > a, .dnk-ltiles__marquee .dnk-ltile > div { height: 136px; }
  .dnk-ltile > a, .dnk-ltile > div { padding: 18px 10px 14px; gap: 10px; }
  .dnk-ltile__logo { height: 56px; }
  .dnk-ltile__img { max-height: 56px; }
  .dnk-ltiles__count strong { font-size: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-ltile > a { transition: none; }
  .dnk-ltile > a:hover { transform: none; }
}

/* ---------- Skeleton cho ảnh tin tức, ảnh Trụ cột, logo trường (dnk-blog.js gắn .is-loaded khi ảnh tải xong) ---------- */
.dnk-js .dnk-tile__media:not(.is-loaded) { background-color: #1d3a29; background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .08) 50%, rgba(255, 255, 255, 0) 80%); background-size: 200% 100%; animation: dnk-shimmer 1.4s ease-in-out infinite; }
.dnk-js .dnk-pillars__layer:not(.is-loaded) { border-radius: 16px; background-color: #e8ede9; background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .65) 50%, rgba(255, 255, 255, 0) 80%); background-size: 200% 100%; animation: dnk-shimmer 1.4s ease-in-out infinite; }
.dnk-js .dnk-ltile__logo:not(.is-loaded) { width: 72%; margin: 0 auto; border-radius: 8px; background-color: #edf1ee; background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, 0) 80%); background-size: 200% 100%; animation: dnk-shimmer 1.4s ease-in-out infinite; }
.dnk-js .dnk-tile__media img { opacity: 0; transition: opacity .6s var(--dnk-ease), transform 1.2s var(--dnk-ease); }
.dnk-js .dnk-pillars__layer img, .dnk-js .dnk-ltile__logo img { opacity: 0; transition: opacity .6s var(--dnk-ease), transform 1s var(--dnk-ease); }
.dnk-js .dnk-tile__media.is-loaded img, .dnk-js .dnk-pillars__layer.is-loaded img, .dnk-js .dnk-ltile__logo.is-loaded img { opacity: 1; }

/* ---------- Hover bổ sung ---------- */
.dnk-stat__value { transition: transform .4s var(--dnk-ease), color .4s var(--dnk-ease); }
.dnk-posts-section__head .dnk-btn--link::after { content: "\2192"; display: inline-block; margin-left: 8px; transition: transform .3s var(--dnk-ease); }
@media (hover: hover) {
  /* Con số: nhích lên, đổi sang xanh đậm */
  .dnk-stat:hover .dnk-stat__value { transform: translateY(-4px); color: var(--dnk-forest); }
  .dnk-bg-forest .dnk-stat:hover .dnk-stat__value { color: #fff; }
  /* Ảnh Trụ cột: ảnh đang hiện phóng nhẹ */
  .dnk-js .dnk-pillars__stack:hover .dnk-pillars__layer.is-active img { transform: scale(1.04); }
  /* Nút "Xem tất cả" cạnh tiêu đề tin tức: mũi tên nhích */
  .dnk-posts-section__head .dnk-btn--link:hover::after { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-js .dnk-tile__media:not(.is-loaded), .dnk-js .dnk-pillars__layer:not(.is-loaded), .dnk-js .dnk-ltile__logo:not(.is-loaded) { animation: none; }
  .dnk-stat:hover .dnk-stat__value, .dnk-js .dnk-pillars__stack:hover .dnk-pillars__layer.is-active img { transform: none; }
}

/* ---------- Tin tức kiểu "Ảnh lớn, chữ trên ảnh" ---------- */
.dnk-spot { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: repeat(2, minmax(260px, 1fr)); gap: 20px; }
.dnk-tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 260px; overflow: hidden; border-radius: 16px; background: var(--dnk-forest); color: #fff; isolation: isolate; }
.dnk-tile--big { grid-row: 1 / span 2; min-height: 540px; }
.dnk-tile__media { position: absolute; inset: 0; z-index: -2; }
.dnk-tile__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--dnk-ease); }
.dnk-tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 30, 18, .05) 20%, rgba(8, 30, 18, .55) 58%, rgba(8, 30, 18, .92) 100%); }
.dnk-tile__body { padding: 24px; }
.dnk-tile--big .dnk-tile__body { padding: 36px; }
.dnk-tile__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 13px; color: rgba(255, 255, 255, .8); }
.dnk-tile__cat { padding: 4px 10px; border-radius: 999px; background: var(--dnk-gold); color: var(--dnk-ink); font-size: 12px; font-weight: 600; }
.dnk-tile__title { margin: 0; color: #fff; font-size: 19px; line-height: 1.35; text-wrap: balance; }
.dnk-tile--big .dnk-tile__title { font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem); line-height: 1.2; }
/* Chữ luôn trắng, không gạch chân (a:hover của Flatsome đổi màu tối, chìm vào ảnh) */
.dnk-tile__link, .dnk-tile__link:hover, .dnk-tile__link:focus, .dnk-tile__link:visited { color: #fff; text-decoration: none; }
.dnk-tile__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.dnk-tile__link:focus-visible { outline: none; }
.dnk-tile:has(.dnk-tile__link:focus-visible) { outline: 3px solid var(--dnk-gold); outline-offset: 3px; }
.dnk-tile__excerpt { margin: 12px 0 0; max-width: 56ch; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .85); }
.dnk-tile__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 14px; font-weight: 600; color: var(--dnk-gold); }
.dnk-tile__more::after { content: "\2192"; transition: transform .3s var(--dnk-ease); }
/* Rê chuột: ảnh phóng nhẹ và tối hơn, "Đọc bài viết" hiện ra (thẻ nhỏ), vạch vàng chạy dưới đáy */
.dnk-tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(8, 30, 18, .28); opacity: 0; transition: opacity .5s var(--dnk-ease); }
.dnk-tile__body::after { content: ""; position: absolute; left: 0; bottom: 0; z-index: 2; width: 100%; height: 3px; background: var(--dnk-gold); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--dnk-ease); }
.dnk-tile:not(.dnk-tile--big) .dnk-tile__more { display: flex; max-height: 0; margin-top: 0; overflow: hidden; opacity: 0; transition: max-height .45s var(--dnk-ease), margin-top .45s var(--dnk-ease), opacity .35s var(--dnk-ease); }
@media (hover: hover) {
  .dnk-tile:hover .dnk-tile__img { transform: scale(1.05); }
  .dnk-tile:hover::before { opacity: 1; }
  .dnk-tile:hover .dnk-tile__body::after { transform: scaleX(1); }
  .dnk-tile:hover:not(.dnk-tile--big) .dnk-tile__more { max-height: 30px; margin-top: 12px; opacity: 1; }
  .dnk-tile:hover .dnk-tile__more::after { transform: translateX(4px); }
}

/* ---------- Form kiểu "Khung tối có ảnh nền" ---------- */
.dnk-fpanel { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center; padding: 64px; overflow: hidden; border-radius: 24px; background: var(--dnk-forest); color: #fff; isolation: isolate; }
.dnk-fpanel__bg { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; }
.dnk-fpanel.has-bg::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(8, 30, 18, .94) 0%, rgba(8, 30, 18, .82) 45%, rgba(8, 30, 18, .55) 100%); }
.dnk-fpanel__title { margin: 0; color: #fff; font-size: clamp(1.9rem, 1.3rem + 1.8vw, 2.75rem); line-height: 1.15; letter-spacing: -0.02em; text-wrap: balance; }
.dnk-fpanel__text { margin: 16px 0 0; max-width: 44ch; font-size: 17px; line-height: 1.65; color: rgba(255, 255, 255, .85); }
.dnk-checks--light li { color: #fff; }
.dnk-checks--light li::before { background-color: rgba(242, 196, 24, .18); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2c418' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 12.5 3.2 3L17 9'/%3E%3C/svg%3E"); }
.dnk-fpanel__contacts { display: flex; flex-wrap: wrap; gap: 20px 36px; margin: 36px 0 0; padding: 28px 0 0; border-top: 1px solid rgba(255, 255, 255, .16); list-style: none; }
.dnk-fpanel__contacts li { margin: 0; }
.dnk-fpanel__contacts a { display: block; color: #fff; text-decoration: none; }
.dnk-fpanel__contacts small { display: block; margin-bottom: 4px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--dnk-gold); }
.dnk-fpanel__contacts strong { display: block; font-size: 18px; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0); text-underline-offset: 4px; transition: text-decoration-color .3s var(--dnk-ease); }
.dnk-fpanel__contacts a:hover strong { text-decoration-color: rgba(255, 255, 255, .6); }
.dnk-fpanel .dnk-form-card { padding: 36px; border: 0; border-radius: 16px; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6); color: var(--dnk-ink); }
.dnk-fpanel .dnk-cf7 { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.dnk-fpanel .dnk-cf7 > * { grid-column: 1 / -1; }
.dnk-fpanel .dnk-cf7 > p:nth-of-type(-n+4) { grid-column: auto; }
@media (max-width: 1024px) {
  .dnk-fpanel { grid-template-columns: 1fr; gap: 40px; padding: 48px; }
  .dnk-spot { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .dnk-tile--big { grid-column: 1 / -1; grid-row: auto; min-height: 420px; }
}
@media (max-width: 767px) {
  .dnk-fpanel { margin: 0 -8px; padding: 32px 20px 20px; border-radius: 18px; }
  .dnk-fpanel .dnk-form-card { padding: 24px 18px; }
  .dnk-fpanel .dnk-cf7 { grid-template-columns: 1fr; }
  .dnk-fpanel__contacts { margin-top: 28px; padding-top: 22px; }
  .dnk-spot { grid-template-columns: 1fr; gap: 14px; }
  .dnk-tile { min-height: 230px; border-radius: 12px; }
  .dnk-tile--big { min-height: 380px; }
  .dnk-tile--big .dnk-tile__body, .dnk-tile__body { padding: 20px; }
  .dnk-tile__excerpt { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-tile__img, .dnk-tile__more, .dnk-tile__more::after, .dnk-tile__body::after, .dnk-tile::before { transition: none; }
  .dnk-tile:hover .dnk-tile__img { transform: none; }
}

/* ---------- Golf tour trên nền ảnh ---------- */
.dnk-gtours.has-bg { overflow: hidden; }
/* Ảnh nền nằm trong .dnk-container nhưng container không định vị, nên ảnh phủ kín cả section */
.dnk-gtours__bg { position: absolute; inset: 0; z-index: 0; background-size: cover; background-position: center; opacity: .45; pointer-events: none; }
.dnk-gtours.has-bg::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(12, 58, 35, .75) 0%, rgba(12, 58, 35, .35) 50%, rgba(12, 58, 35, .9) 100%); pointer-events: none; }
.dnk-gtours.has-bg .dnk-container > :not(.dnk-gtours__bg) { position: relative; z-index: 1; }
.dnk-bg-forest .dnk-gtour { border-color: transparent; box-shadow: 0 32px 64px -32px rgba(0, 0, 0, .55); }
.dnk-bg-forest .dnk-gtours__grid .dnk-gtour__title a { color: var(--dnk-ink); }

/* ---------- Danh sách kiểu Trụ cột: giới thiệu + ảnh bên trái, mục đánh số bên phải ---------- */
.dnk-pillars { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 88px; align-items: start; }
.dnk-pillars__intro { position: sticky; top: 120px; }
.dnk-pillars__intro .dnk-heading { margin-bottom: 28px; }
.dnk-pillars__media { position: relative; margin: 44px 20px 20px 0; isolation: isolate; }
.dnk-pillars__media::before { content: ""; position: absolute; right: -20px; bottom: -20px; width: 55%; height: 60%; border-radius: 16px; background: var(--dnk-gold); z-index: -1; }
.dnk-pillars__media img { border-radius: 16px; }
.dnk-pillars__list { counter-reset: pillar; }
.dnk-list--pillars .dnk-list-item { counter-increment: pillar; display: grid; grid-template-columns: 104px minmax(0, 1fr); column-gap: 24px; padding: 44px 0; border-top: 1px solid var(--dnk-line); }
.dnk-list--pillars .dnk-list-item:last-child { border-bottom: 1px solid var(--dnk-line); }
.dnk-list--pillars .dnk-list-item::before { content: counter(pillar, decimal-leading-zero); grid-row: 1 / span 3; font-size: 64px; font-weight: 700; line-height: .9; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 1.5px var(--dnk-green); transition: color .4s var(--dnk-ease); }
.dnk-list--pillars .dnk-list-item > :not(.dnk-list-item__icon) { grid-column: 2; }
.dnk-list--pillars .dnk-list-item__icon { display: none; }
.dnk-list--pillars .dnk-list-item__title { font-size: 26px; line-height: 1.25; }
.dnk-list--pillars .dnk-list-item__text { margin-top: 12px; font-size: 17px; }
@media (hover: hover) {
  .dnk-list--pillars .dnk-list-item:hover::before { color: var(--dnk-green); }
}
/* Trụ cột có ảnh riêng từng mục: ảnh bên trái đổi theo mục đang đọc, mục đang đọc rõ, số tô màu */
.dnk-list--pillars .dnk-list-item__media { display: none; }
.dnk-pillars__stack { position: relative; aspect-ratio: 4 / 3; }
/* Ảnh mới hiện dần nằm trên; ảnh cũ giữ nguyên đến khi ảnh mới hiện hẳn rồi mới ẩn (không lộ nền phía sau) */
/* Chỉ ảnh bên trong khung được phóng (khung cắt ảnh), khung không bao giờ phình ra ngoài. Ảnh cũ giữ
   nguyên cỡ đến khi đã ẩn hẳn rồi mới đặt lại scale, nên lúc chuyển không lộ viền ảnh cũ to hơn khung. */
.dnk-pillars__layer { position: absolute; inset: 0; margin: 0; overflow: hidden; border-radius: 16px; opacity: 0; transition: opacity 0s linear .8s; }
.dnk-pillars__layer.is-active { z-index: 1; opacity: 1; transition: opacity .8s var(--dnk-ease); }
.dnk-js .dnk-pillars__layer img { transform: scale(1.05); transition: opacity .6s var(--dnk-ease), transform 0s linear .8s; }
.dnk-js .dnk-pillars__layer.is-active img { transform: none; transition: opacity .6s var(--dnk-ease), transform 1.4s var(--dnk-ease); }
.dnk-pillars__layer .dnk-img { width: 100%; height: 100%; border-radius: 16px; object-fit: cover; }
.dnk-pillars__layer figcaption { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px; border-radius: 999px; background: rgba(253, 254, 253, .94); font-size: 15px; font-weight: 600; color: var(--dnk-ink); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.dnk-pillars__layer figcaption span { font-variant-numeric: tabular-nums; color: var(--dnk-green); }
.dnk-pillars.is-ready .dnk-list-item { opacity: .42; transition: opacity .5s var(--dnk-ease), box-shadow .5s var(--dnk-ease); }
.dnk-pillars.is-ready .dnk-list-item.is-active { opacity: 1; box-shadow: inset 0 2px 0 var(--dnk-green); }
.dnk-pillars.is-ready .dnk-list-item.is-active::before { color: var(--dnk-green); }
.dnk-pillars.is-ready .dnk-list-item:hover { opacity: 1; }
@media (max-width: 899px) {
  .dnk-pillars.has-layers .dnk-pillars__stack { display: none; }
  .dnk-list--pillars .dnk-list-item__media { display: block; grid-column: 2; order: 3; margin-top: 16px; overflow: hidden; border-radius: 12px; }
  .dnk-list--pillars .dnk-list-item__media img { aspect-ratio: 16 / 9; object-fit: cover; }
  .dnk-pillars.is-ready .dnk-list-item { opacity: 1; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-pillars__layer, .dnk-pillars.is-ready .dnk-list-item, .dnk-js .dnk-pillars__layer img, .dnk-js .dnk-pillars__layer.is-active img { transition: none; transform: none; }
}

/* ---------- Slider banner ---------- */
.dnk-slider { align-items: stretch; }
.dnk-slider__slides { display: grid; width: 100%; }
.dnk-slide { position: relative; grid-area: 1 / 1; display: flex; align-items: flex-end; opacity: 0; visibility: hidden; transition: opacity 1s var(--dnk-ease), visibility 0s linear 1s; }
.dnk-slide.is-active { z-index: 1; opacity: 1; visibility: visible; transition: opacity 1s var(--dnk-ease); }
.dnk-slider .dnk-hero__inner { padding-bottom: 152px; }
.dnk-slide .dnk-hero__content > * { opacity: 0; transform: translateY(20px); transition: opacity .7s var(--dnk-ease), transform .9s var(--dnk-ease); }
.dnk-slide.is-active .dnk-hero__content > * { opacity: 1; transform: none; }
.dnk-slide.is-active .dnk-hero__content > :nth-child(2) { transition-delay: .12s; }
.dnk-slide.is-active .dnk-hero__content > :nth-child(3) { transition-delay: .24s; }
.dnk-slide.is-active .dnk-hero__content > :nth-child(4) { transition-delay: .36s; }
.dnk-slider--zoom .dnk-slide .dnk-hero__img { transform: scale(1.08); transition: transform 1s var(--dnk-ease); }
.dnk-slider--zoom .dnk-slide.is-active .dnk-hero__img { transform: scale(1); transition: transform calc(var(--dnk-slide-time, 7s) + 1.5s) linear; }
.dnk-slider__controls { position: absolute; left: 0; right: 0; bottom: 44px; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dnk-slider__dots { display: flex; gap: 4px; }
.dnk-slider__dot { display: inline-grid; place-items: center; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.dnk-slider__dot span { display: block; width: 28px; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .4); transition: width .4s var(--dnk-ease), background-color .4s var(--dnk-ease); }
.dnk-slider__dot.is-active span { width: 40px; background: #fff; }
.dnk-slider__dot:hover span { background: rgba(255, 255, 255, .8); }
.dnk-slider__nav { display: flex; gap: 10px; }
.dnk-slider__btn { display: inline-grid; place-items: center; width: 48px; height: 48px; margin: 0; padding: 0; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; background: rgba(12, 58, 35, .25); color: #fff; cursor: pointer; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background-color .3s var(--dnk-ease), color .3s var(--dnk-ease), border-color .3s var(--dnk-ease); }
.dnk-slider__btn:hover { background: #fff; border-color: #fff; color: var(--dnk-ink); }
.dnk-slider__btn[hidden] { display: none; }
.dnk-slider__ico-play, .dnk-slider.is-paused .dnk-slider__ico-pause { display: none; }
.dnk-slider.is-paused .dnk-slider__ico-play { display: block; }
.dnk-slider__dot:focus-visible, .dnk-slider__btn:focus-visible { outline: 2px solid var(--dnk-gold); outline-offset: 2px; }
.dnk-slider__progress { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; height: 3px; background: rgba(255, 255, 255, .14); }
.dnk-slider__progress span { display: block; width: 100%; height: 100%; background: var(--dnk-gold); transform: scaleX(0); transform-origin: left; }
.dnk-slider.is-timing .dnk-slider__progress span { transform: scaleX(1); transition: transform var(--dnk-slide-time, 7s) linear; }
/* Không có JS: chỉ slide đầu, không có nút */
html:not(.dnk-js) .dnk-slider__controls, html:not(.dnk-js) .dnk-slider__progress { display: none; }
/* UX Builder: các slide xếp dọc để chỉnh từng slide */
/* (html.dnk-uxb do dnk.js gắn khi trang mở trong UX Builder) */
.dnk-uxb .dnk-slider__slides { display: block; }
.dnk-uxb .dnk-slide { min-height: 560px; opacity: 1; visibility: visible; }
.dnk-uxb .dnk-slide + .dnk-slide { border-top: 4px dashed var(--dnk-gold); }
.dnk-uxb .dnk-slide .dnk-hero__content > * { opacity: 1; transform: none; }
.dnk-uxb .dnk-slider__controls, .dnk-uxb .dnk-slider__progress { display: none; }
@media (prefers-reduced-motion: reduce) {
  .dnk-slide, .dnk-slide.is-active, .dnk-slide .dnk-hero__content > *, .dnk-slider--zoom .dnk-slide .dnk-hero__img { transition: none; transform: none; }
  .dnk-services--showcase .dnk-service, .dnk-services--showcase .dnk-service__media img { transition: none; }
}
@media (max-width: 1024px) {
  .dnk-services--showcase .dnk-service { min-height: 540px; }
  .dnk-services--showcase .dnk-service__body { padding: 32px; }
  .dnk-pillars { gap: 48px; }
}
@media (max-width: 899px) {
  .dnk-services--showcase .dnk-services__grid { flex-direction: column; }
  .dnk-services--showcase .dnk-service { flex: none; min-height: 480px; }
  .dnk-pillars { grid-template-columns: 1fr; }
  .dnk-pillars__intro { position: static; }
  .dnk-pillars__media img { aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
  .dnk-services--showcase .dnk-services__grid { gap: 14px; }
  .dnk-services--showcase .dnk-service { min-height: 440px; border-radius: 12px; }
  .dnk-services--showcase .dnk-service::before { background: linear-gradient(180deg, rgba(8, 30, 18, .1) 0%, rgba(8, 30, 18, .6) 35%, rgba(8, 30, 18, .94) 100%); }
  .dnk-services--showcase .dnk-service__body { padding: 24px; }
  .dnk-services--showcase .dnk-service__text { font-size: 15px; }
  .dnk-service__tags { margin-top: 16px; gap: 6px; }
  .dnk-service__tags li { padding: 5px 11px; font-size: 12px; }
  .dnk-services--showcase .dnk-link-arrow { margin-top: 20px; }
  .dnk-pillars__media { margin-top: 32px; }
  .dnk-list--pillars .dnk-list-item { grid-template-columns: 64px minmax(0, 1fr); column-gap: 16px; padding: 28px 0; }
  .dnk-list--pillars .dnk-list-item::before { font-size: 40px; }
  .dnk-list--pillars .dnk-list-item__title { font-size: 21px; }
  .dnk-list--pillars .dnk-list-item__text { font-size: 15px; }
  .dnk-slider .dnk-hero__inner { padding-bottom: 120px; }
  .dnk-slider__controls { bottom: 24px; }
  .dnk-slider__btn { width: 42px; height: 42px; }
  .dnk-slider__dot { width: 32px; }
  .dnk-slider__dot span { width: 20px; }
  .dnk-slider__dot.is-active span { width: 30px; }
}

/* ---------- Đội ngũ: ảnh cao toàn thẻ, tên trên lớp tối, rê chuột hiện giới thiệu ---------- */
.dnk-team__grid { display: grid; gap: 24px; }
.dnk-team__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dnk-team__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dnk-member { position: relative; margin: 0; overflow: hidden; border-radius: 16px; background: var(--dnk-forest); isolation: isolate; aspect-ratio: 3 / 4; }
.dnk-member__media { position: absolute; inset: 0; z-index: -2; background: #e6f2ea; }
.dnk-member__media .dnk-img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center 20%; }
.dnk-member__art { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.dnk-member::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 30, 18, 0) 45%, rgba(8, 30, 18, .55) 70%, rgba(8, 30, 18, .92) 100%); }
.dnk-member__initials { position: absolute; inset: 0; display: grid; place-items: center; font-size: clamp(2.5rem, 1.8rem + 2vw, 3.5rem); font-weight: 600; letter-spacing: .04em; color: var(--dnk-green); background: linear-gradient(160deg, #e6f2ea 0%, #cfe5d7 100%); }
.dnk-member__area { position: absolute; left: 14px; top: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(253, 254, 253, .92); font-size: 12px; font-weight: 600; line-height: 1.3; color: var(--dnk-green); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.dnk-member__area--golf { color: #8a6500; }
.dnk-member__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px; color: #fff; }
.dnk-member__name { margin: 0; color: #fff; font-size: 20px; line-height: 1.3; }
.dnk-member__role { margin: 4px 0 0; font-size: 14px; font-weight: 600; color: var(--dnk-gold); }
.dnk-member__text { margin: 10px 0 0; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .86); }
.dnk-member__langs { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; font-size: 13px; color: rgba(255, 255, 255, .78); }
.dnk-js .dnk-member__media:not(.is-loaded) {
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .65) 50%, rgba(255, 255, 255, 0) 80%);
  background-size: 200% 100%;
  animation: dnk-shimmer 1.4s ease-in-out infinite;
}
.dnk-js .dnk-member__media img { opacity: 0; transition: opacity .6s var(--dnk-ease), transform 1s var(--dnk-ease); }
/* Máy tính: giới thiệu và ngôn ngữ ẩn, rê chuột (hoặc Tab tới) thì trượt lên */
@media (hover: hover) and (min-width: 768px) {
  .dnk-member__text, .dnk-member__langs { max-height: 0; margin-top: 0; overflow: hidden; opacity: 0; transition: max-height .5s var(--dnk-ease), opacity .4s var(--dnk-ease), margin-top .5s var(--dnk-ease); }
  .dnk-member:hover .dnk-member__text, .dnk-member:focus-within .dnk-member__text { max-height: 120px; margin-top: 10px; opacity: 1; }
  .dnk-member:hover .dnk-member__langs, .dnk-member:focus-within .dnk-member__langs { max-height: 40px; margin-top: 10px; opacity: 1; }
  .dnk-member:hover .dnk-member__media img { transform: scale(1.05); }
}

/* ---------- Con số nổi bật ---------- */
.dnk-stats.has-bg { overflow: hidden; }
.dnk-stats.has-bg .dnk-container > :not(.dnk-list__bg) { position: relative; }
.dnk-stats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 0; }
.dnk-stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; padding: 8px 28px; text-align: center; }
.dnk-stat + .dnk-stat { border-left: 1px solid var(--dnk-line); }
.dnk-bg-forest .dnk-stat + .dnk-stat { border-color: rgba(255, 255, 255, .16); }
.dnk-stat__value { margin: 0; font-size: clamp(2.5rem, 1.8rem + 2.4vw, 3.5rem); font-weight: 700; line-height: 1; letter-spacing: -0.02em; color: var(--dnk-green); font-variant-numeric: tabular-nums; }
.dnk-bg-forest .dnk-stat__value { color: var(--dnk-gold); }
.dnk-stat__affix { font-size: .6em; font-weight: 600; margin: 0 .04em; }
.dnk-stat__label { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--dnk-muted); }
.dnk-bg-forest .dnk-stat__label { color: #c4d3c8; }

/* ---------- Logo trường và đối tác ---------- */
.dnk-logos .dnk-heading { margin-bottom: 36px; }
.dnk-logos .dnk-heading__title { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); }
.dnk-logos__list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 56px; margin: 0; padding: 0; list-style: none; }
.dnk-logo { flex: none; margin: 0; }
.dnk-logo a { display: block; border-radius: var(--dnk-radius); }
.dnk-logo__img { display: block; width: auto; max-width: 160px; height: 56px; object-fit: contain; }
.dnk-logos--gray .dnk-logo__img { filter: grayscale(1); opacity: .62; transition: filter .3s var(--dnk-ease), opacity .3s var(--dnk-ease); }
.dnk-logos--gray .dnk-logo a:focus-visible .dnk-logo__img { filter: none; opacity: 1; }
@media (hover: hover) {
  .dnk-logos--gray .dnk-logo:hover .dnk-logo__img { filter: none; opacity: 1; }
}
.dnk-bg-forest .dnk-logo__img { filter: grayscale(1) brightness(0) invert(1); opacity: .75; }
/* Dải trượt: hai danh sách giống nhau nối tiếp, dịch -50% để lặp liền mạch */
.dnk-logos--marquee { overflow: hidden; overflow-x: clip; }
.dnk-logos__viewport { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%); }
.dnk-logos__track { display: flex; width: max-content; animation: dnk-logos var(--dnk-logo-duration, 36s) linear infinite; }
.dnk-logos--marquee .dnk-logos__list { flex-wrap: nowrap; padding-right: 56px; }
.dnk-logos__viewport:hover .dnk-logos__track, .dnk-logos__viewport:focus-within .dnk-logos__track { animation-play-state: paused; }
@keyframes dnk-logos { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .dnk-logos__track { width: auto; animation: none; }
  .dnk-logos--marquee .dnk-logos__list { flex-wrap: wrap; padding-right: 0; }
  .dnk-logos__list[aria-hidden="true"], .dnk-logos__list .dnk-logo[aria-hidden="true"] { display: none; }
  .dnk-logos__viewport { -webkit-mask-image: none; mask-image: none; }
  .dnk-member:hover .dnk-member__media img { transform: none; }
  .dnk-js .dnk-member__media:not(.is-loaded) { animation: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .dnk-team__grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dnk-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .dnk-stat:nth-child(2n + 1) { border-left: 0; }
}
@media (max-width: 767px) {
  .dnk-team__grid--4, .dnk-team__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .dnk-member { border-radius: 12px; }
  .dnk-member__body { padding: 14px; }
  .dnk-member__name { font-size: 16px; }
  .dnk-member__role { font-size: 12.5px; }
  .dnk-member__text, .dnk-member__langs { display: none; }
  .dnk-member__area { left: 8px; top: 8px; padding: 4px 8px; font-size: 11px; }
  .dnk-stat { padding: 4px 12px; }
  .dnk-logos__list { gap: 20px 36px; }
  .dnk-logos--marquee .dnk-logos__list { padding-right: 36px; }
  .dnk-logo__img { max-width: 120px; height: 44px; }
}
@media (max-width: 960px) {
  .dnk-contact__grid { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
  .dnk-footer__grid { grid-template-columns: 1fr 1fr; }
  .dnk-tour__layout { grid-template-columns: 1fr; }
  .dnk-tour__summary { position: static; order: -1; }
  .dnk-testimonials__grid { grid-template-columns: repeat(2, 1fr); }
  .dnk-reviews__track { --dnk-per: 2; }
  .dnk-gtours__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dnk-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .dnk-list--steps .dnk-cols-4 .dnk-list-item:nth-child(2n)::after { display: none; }
}

@media (max-width: 767px) {
  .dnk-container { padding: 0 20px; }
  .dnk-pad-normal { padding: 64px 0; }
  .dnk-pad-large { padding: 88px 0; }
  .dnk-heading { margin-bottom: 32px; }
  .dnk-hero--full { min-height: 600px; }
  .dnk-hero__inner { padding-top: 72px; padding-bottom: 56px; }
  .dnk-hero__text { font-size: 16px; }
  .dnk-split__grid, .dnk-form-section__grid { grid-template-columns: 1fr; gap: 40px; }
  .dnk-page-head .dnk-blog-head__inner { padding-top: 28px; padding-bottom: 56px; }
  .dnk-contact.dnk-pad-large { padding: 40px 0 64px; }
  .dnk-contact__form { padding: 28px 20px; }
  .dnk-contact__form .dnk-cf7 { grid-template-columns: 1fr; }
  .dnk-contact__info { padding: 4px 20px 20px; }
  .dnk-contact-row { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 16px 0; }
  .dnk-contact-row__icon { width: 40px; height: 40px; }
  .dnk-split--image-right .dnk-split__media { order: 0; }
  .dnk-services__grid, .dnk-cols-2, .dnk-cols-3, .dnk-cols-4, .dnk-testimonials__grid, .dnk-gtours__grid--2, .dnk-gtours__grid--3 { grid-template-columns: 1fr; }
  .dnk-cta__box { grid-template-columns: 1fr; padding: 40px 24px; }
  .dnk-form-card, .dnk-empty { padding: 28px 20px; }
  .dnk-reviews__track { --dnk-per: 1.15; --dnk-gap: 16px; }
  .dnk-reviews__track > .dnk-quote.is-low { margin-top: 0; }
  .dnk-reviews.is-ready .dnk-reviews__track > .dnk-quote { flex-basis: 78vw; }
  .dnk-reviews.is-ready .dnk-reviews__viewport { -webkit-mask-image: none; mask-image: none; }
  .dnk-reviews__viewport { margin: 0 -20px; padding: 8px 20px 40px; -webkit-mask-image: none; mask-image: none; }
  .dnk-quote { padding: 22px; }
  .dnk-day { padding-left: 24px; }
  .dnk-day__body.has-image { grid-template-columns: 1fr; }
  .dnk-day__facts { grid-template-columns: 1fr; }
  .dnk-tabs { display: flex; width: 100%; }
  .dnk-tabs__btn { flex: 1; padding: 0 12px; }
  .dnk-contact__item { grid-template-columns: 1fr; gap: 4px; }
  .dnk-footer__grid { grid-template-columns: 1fr; gap: 36px; }
  .dnk-job { flex-direction: column; gap: 4px; }
  .dnk-gfilter { margin-bottom: 40px; padding: 14px; }
  .dnk-list--highlights .dnk-list__grid { gap: 12px; }
  .dnk-list--highlights .dnk-list-item { padding: 22px 22px 20px; }
  .dnk-list--highlights .dnk-list-item::before { right: 14px; bottom: -14px; font-size: 80px; }
  .dnk-list--highlights .dnk-list-item__title::before { margin-bottom: 14px; }
  .dnk-hero + .dnk-list--highlights .dnk-list__grid { margin-top: -56px; }
  .dnk-hero:has(+ .dnk-list--highlights) .dnk-hero__inner { padding-bottom: 104px; }
  .dnk-list__head { margin-bottom: 40px; }
  .dnk-list--steps .dnk-list__grid { gap: 32px; }
  .dnk-list--steps .dnk-list-item { padding-left: 76px; min-height: 56px; }
  .dnk-list--steps .dnk-list-item__icon { position: absolute; left: 0; top: 0; width: 52px; height: 52px; margin: 0; box-shadow: 0 0 0 6px rgba(242, 196, 24, .14); }
  .dnk-list--steps .dnk-list-item__icon svg { width: 22px; height: 22px; }
  .dnk-list--steps .dnk-list-item:not(:last-child)::after,
  .dnk-list--steps .dnk-cols-4 .dnk-list-item:nth-child(2n):not(:last-child)::after { display: block; top: 68px; bottom: -24px; left: 25px; right: auto; border-top: 0; border-left: 2px dashed rgba(255, 255, 255, .28); }
  .dnk-list--steps.dnk-bg-white .dnk-list-item:not(:last-child)::after, .dnk-list--steps.dnk-bg-muted .dnk-list-item:not(:last-child)::after { border-left-color: rgba(23, 38, 26, .18); }
  .dnk-list--steps .dnk-list-item__title { font-size: 19px; }
  .dnk-list--steps .dnk-list-item__text { font-size: 15px; }
  .dnk-list--photos .dnk-list__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .dnk-list--photos .dnk-list-item { min-height: 220px; padding: 14px; }
  .dnk-list--photos .dnk-list-item:first-child { grid-column: span 2; min-height: 280px; padding: 20px; }
  .dnk-list--photos .dnk-list-item:nth-child(even):last-child { grid-column: span 2; } /* thẻ cuối lẻ hàng: trải hết chiều ngang */
  .dnk-list--photos .dnk-list-item:first-child .dnk-list-item__title { font-size: 20px; }
  .dnk-list--photos .dnk-list-item__icon { width: 32px; height: 32px; margin-bottom: 10px; }
  .dnk-list--photos .dnk-list-item__icon svg { width: 17px; height: 17px; }
  .dnk-list--photos .dnk-list-item__title { font-size: 15px; }
  .dnk-list--photos .dnk-list-item__text { font-size: 12.5px; line-height: 1.45; }
  .dnk-js .dnk-blog-head + .dnk-gtours--filter .dnk-gfilter { margin-top: -44px; }
  .dnk-js .dnk-blog-head:has(+ .dnk-gtours--filter) .dnk-blog-head__inner { padding-top: 56px; padding-bottom: 92px; }
  .dnk-gfilter__top { flex-direction: column; gap: 10px; }
  .dnk-gfilter__select { flex-basis: auto; }
  .dnk-gfilter__row { gap: 14px; }
  .dnk-gfilter__group { width: 100%; }
  .dnk-gfilter__meta { width: 100%; justify-content: space-between; margin-left: 0; }
}


/* ---------- Hiệu ứng hover chung cho các khối ---------- */
@media (hover: hover) {
  /* Nút vàng: nhô lên nhẹ, có bóng */
  .dnk-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(201, 154, 0, .7); }
  .dnk-btn--outline:hover { transform: translateY(-2px); }
  /* Thanh tìm kiếm */
  .dnk-gfilter input[type="search"]:hover, .dnk-gfilter select:hover { border-color: #b8c6bd; }
  .dnk-chip span { transition: background-color .2s var(--dnk-ease), border-color .2s var(--dnk-ease), color .2s var(--dnk-ease), transform .2s var(--dnk-ease); }
  .dnk-chip:hover span { transform: translateY(-1px); }
  /* Đánh giá: thẻ nổi lên, băng chuyền dừng lại để đọc */
  .dnk-quote { transition: transform .4s var(--dnk-ease), box-shadow .4s var(--dnk-ease), border-color .4s var(--dnk-ease); }
  .dnk-quote:hover { transform: translateY(-6px); border-color: rgba(15, 122, 59, .25); box-shadow: 0 28px 52px -30px rgba(12, 58, 35, .5); }
  .dnk-reviews:hover .dnk-reviews__track { animation-play-state: paused; }
  /* Thẻ ảnh: tiêu đề nhích lên khi thẻ được chọn */
  .dnk-list--photos .dnk-list-item__title { transition: transform .5s var(--dnk-ease); }
  .dnk-list--photos .dnk-list-item:hover .dnk-list-item__title { transform: translateY(-4px); }
  /* Bước: tiêu đề đổi màu */
  .dnk-list--steps .dnk-list-item__title { transition: color .3s var(--dnk-ease); }
  .dnk-bg-forest.dnk-list--steps .dnk-list-item:hover .dnk-list-item__title { color: var(--dnk-gold); }
  .dnk-list--steps:not(.dnk-bg-forest) .dnk-list-item:hover .dnk-list-item__title { color: var(--dnk-green); }
  /* Ảnh cạnh form */
  .dnk-form-section__media img { transition: opacity .6s var(--dnk-ease), transform 1s var(--dnk-ease); }
  .dnk-form-section__media:hover img { transform: scale(1.04); }
  .dnk-checks li::before { transition: transform .3s var(--dnk-ease); }
  .dnk-checks li:hover::before { transform: scale(1.12); }
}
/* Khung form sáng lên khi đang nhập */
.dnk-form-card { transition: box-shadow .4s var(--dnk-ease), border-color .4s var(--dnk-ease); }
.dnk-form-card:focus-within { border-color: #b8c6bd; box-shadow: 0 28px 56px -36px rgba(12, 58, 35, .45); }

@media (prefers-reduced-motion: reduce) {
  .dnk-btn, .dnk-service__media img, .dnk-link-arrow::after, .dnk-contact-map__tab, .dnk-contact-row__icon, .dnk-contact-row__value a, .dnk-contact-row__dir::after, .dnk-js .dnk-contact-map__frame iframe { transition: none; }
  .dnk-js .dnk-contact-map__frame:not(.is-loaded) .dnk-contact-map__skeleton, .dnk-contact-map__skeleton i { animation: none; }
  .dnk-contact-row:hover .dnk-contact-row__icon, .dnk-cf7 .wpcf7-submit:hover { transform: none; }
  a.dnk-service:hover .dnk-service__media img { transform: none; }
  .dnk-gtour, .dnk-gtour__media img { transition: none; }
  .dnk-list--highlights .dnk-list-item:hover { transform: none; }
  .dnk-gtour:hover .dnk-gtour__media img { transform: none; }
  .dnk-gtour:hover, .dnk-quote:hover, .dnk-btn:hover, .dnk-chip:hover span, .dnk-gtour:hover .dnk-gtour__badge,
  .dnk-list--photos .dnk-list-item:hover .dnk-list-item__title, .dnk-form-section__media:hover img, .dnk-checks li:hover::before { transform: none; }
  .dnk-js .dnk-gtour__media:not(.is-loaded), .dnk-js .dnk-list-item__media:not(.is-loaded), .dnk-js .dnk-form-section__media:not(.is-loaded),
  .dnk-js .dnk-service__media:not(.is-loaded), .dnk-js .dnk-place__media:not(.is-loaded) { animation: none; }
}

/* ---------- Trang chi tiết tour: skeleton banner + hover các khối ---------- */
/* Banner: nền tối nhấp nháy trong lúc chờ ảnh, ảnh hiện dần và thu nhẹ về đúng cỡ */
.dnk-js .dnk-hero__media:not(.is-loaded) {
  background-color: var(--dnk-forest);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .07) 50%, rgba(255, 255, 255, 0) 80%);
  background-size: 200% 100%;
  animation: dnk-shimmer 1.6s ease-in-out infinite;
}
.dnk-js .dnk-hero__img { opacity: 0; transform: scale(1.05); transition: opacity .8s var(--dnk-ease), transform 1.6s var(--dnk-ease); }
.dnk-js .dnk-hero__media.is-loaded .dnk-hero__img { opacity: 1; transform: none; }

/* Chuyển tab lịch trình: nội dung hiện dần */
@keyframes dnk-fade-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.dnk-tour.is-active { animation: dnk-fade-up .45s var(--dnk-ease); }

.dnk-tabs__btn { transition: background-color .25s var(--dnk-ease), color .25s var(--dnk-ease); }
.dnk-day::before { transition: transform .3s var(--dnk-ease), background-color .3s var(--dnk-ease), box-shadow .3s var(--dnk-ease); }
.dnk-day__title { transition: color .3s var(--dnk-ease); }
.dnk-day__schedule div { margin: 0 -10px; padding: 6px 10px; border-radius: var(--dnk-radius); transition: background-color .2s var(--dnk-ease); }
.dnk-tour__card { transition: box-shadow .4s var(--dnk-ease), border-color .4s var(--dnk-ease); }
.dnk-place__media img { transition: opacity .6s var(--dnk-ease), transform .8s var(--dnk-ease); }
.dnk-place__title { transition: color .3s var(--dnk-ease); }
.dnk-cta__bg { transition: transform 1.6s var(--dnk-ease); }

@media (hover: hover) {
  /* Tab chưa chọn */
  .dnk-tabs__btn:not(.is-active):hover { background: #fff; color: var(--dnk-ink); }
  /* Từng ngày: chấm trên trục thời gian sáng vàng, tiêu đề chuyển xanh */
  .dnk-day:hover::before { transform: scale(1.5); background: var(--dnk-gold); box-shadow: 0 0 0 4px rgba(242, 196, 24, .25); }
  .dnk-day:hover .dnk-day__title { color: var(--dnk-green); }
  .dnk-day__schedule div:hover { background: var(--dnk-surface); }
  /* Khung giá bên phải */
  .dnk-tour__card:hover { border-color: #c5d0c9; box-shadow: 0 28px 56px -36px rgba(12, 58, 35, .45); }
  /* Điểm tham quan */
  .dnk-place:hover .dnk-place__media img { transform: scale(1.05); }
  .dnk-place:hover .dnk-place__title { color: var(--dnk-green); }
  /* Khối kêu gọi liên hệ: ảnh nền nhích chậm */
  .dnk-cta__box:hover .dnk-cta__bg { transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-js .dnk-hero__media:not(.is-loaded) { animation: none; }
  .dnk-js .dnk-hero__img { transform: none; transition: opacity .3s; }
  .dnk-tour.is-active { animation: none; }
  .dnk-day:hover::before, .dnk-place:hover .dnk-place__media img, .dnk-cta__box:hover .dnk-cta__bg { transform: none; }
}

/* ---------- Dự án đã thực hiện: ghép ảnh, thẻ đầu lớn, lọc theo mảng; mobile vuốt ngang ---------- */
.dnk-projects__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 48px; margin-bottom: 48px; }
.dnk-projects__head .dnk-heading { max-width: 720px; margin-bottom: 0; }
.dnk-projects__side { display: flex; align-items: flex-end; gap: 32px; }
.dnk-projects__count { display: flex; align-items: center; gap: 12px; margin: 0; padding-left: 20px; border-left: 3px solid var(--dnk-gold); }
.dnk-projects__count strong { font-size: clamp(2.25rem, 1.6rem + 2vw, 3.25rem); font-weight: 700; line-height: 1; letter-spacing: -.03em; color: var(--dnk-forest); font-variant-numeric: tabular-nums; }
.dnk-projects__count span { max-width: 80px; font-size: 13px; font-weight: 600; line-height: 1.35; color: var(--dnk-muted); }
.dnk-projects__filter { display: flex; flex-wrap: wrap; gap: 8px; margin: -16px 0 28px; }
.dnk-projects__tab { margin: 0; padding: 8px 18px; min-height: 40px; border: 1px solid var(--dnk-line); border-radius: 999px; background: var(--dnk-white); color: var(--dnk-ink); font-size: 14px; font-weight: 600; line-height: 1.4; text-transform: none; letter-spacing: 0; cursor: pointer; transition: background-color .2s, border-color .2s, color .2s; }
.dnk-projects__tab:hover { border-color: var(--dnk-green); color: var(--dnk-green); }
.dnk-projects__tab[aria-pressed="true"] { border-color: var(--dnk-forest); background: var(--dnk-forest); color: #fff; }
.dnk-projects__tab:focus-visible { outline: 2px solid var(--dnk-green); outline-offset: 2px; }
.dnk-projects__grid { display: grid; gap: 20px; margin: 0; padding: 0; list-style: none; }
.dnk-projects--mosaic .dnk-projects__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 260px; grid-auto-flow: dense; }
.dnk-projects--grid .dnk-projects__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 320px; }
.dnk-project { position: relative; margin: 0; min-width: 0; }
.dnk-project[hidden] { display: none; }
/* Thẻ lớn = thẻ đầu tiên đang hiện (lọc thì tự chuyển, không cần JS; đúng cả trong UX Builder) */
.dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) { grid-column: span 2; grid-row: span 2; }
.dnk-project.is-entering { animation: dnk-project-in .5s var(--dnk-ease) both; }
@keyframes dnk-project-in { from { opacity: 0; transform: translateY(12px); } }
.dnk-project__inner { position: relative; display: block; height: 100%; overflow: hidden; border-radius: 16px; background: var(--dnk-forest); color: #fff; isolation: isolate; text-decoration: none; }
.dnk-project__inner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 30, 18, 0) 35%, rgba(8, 30, 18, .55) 65%, rgba(8, 30, 18, .92) 100%); }
a.dnk-project__inner:focus-visible { outline: 3px solid var(--dnk-gold); outline-offset: 3px; }
.dnk-project__media { position: absolute; inset: 0; z-index: -2; background: #1d4a33; }
.dnk-project__media .dnk-img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; transition: opacity .6s var(--dnk-ease), transform 1s var(--dnk-ease); }
.dnk-js .dnk-project__media:not(.is-loaded) {
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .18) 50%, rgba(255, 255, 255, 0) 80%);
  background-size: 200% 100%;
  animation: dnk-shimmer 1.4s ease-in-out infinite;
}
.dnk-js .dnk-project__media img { opacity: 0; }
.dnk-js .dnk-project__media.is-loaded img { opacity: 1; }
.dnk-project__area { position: absolute; left: 16px; top: 16px; padding: 6px 12px; border-radius: 999px; background: rgba(253, 254, 253, .92); font-size: 12px; font-weight: 600; line-height: 1.3; color: var(--dnk-green); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.dnk-project__area--golf { color: #8a6500; }
.dnk-project__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px; }
.dnk-project__highlight { margin: 0 0 6px; font-size: 22px; font-weight: 700; line-height: 1.2; letter-spacing: -.01em; color: var(--dnk-gold); }
.dnk-project__title { margin: 0; color: #fff; font-size: 18px; line-height: 1.35; }
.dnk-project__meta { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .78); }
.dnk-project__text { margin: 10px 0 0; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .88); }
.dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) .dnk-project__body { padding: 32px; }
.dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) .dnk-project__highlight { font-size: clamp(28px, 1.6rem + 1vw, 40px); }
.dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) .dnk-project__title { font-size: clamp(20px, 1.1rem + .6vw, 26px); }
.dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) .dnk-project__text { max-width: 460px; font-size: 15px; }
/* Máy tính: mô tả của thẻ nhỏ ẩn, rê chuột (hoặc Tab tới) thì trượt lên; thẻ lớn luôn hiện */
@media (hover: hover) and (min-width: 768px) {
  .dnk-project__text { max-height: 0; margin-top: 0; overflow: hidden; opacity: 0; transition: max-height .5s var(--dnk-ease), opacity .4s var(--dnk-ease), margin-top .5s var(--dnk-ease); }
  .dnk-project:hover .dnk-project__text, .dnk-project:focus-within .dnk-project__text, .dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) .dnk-project__text { max-height: 120px; margin-top: 10px; opacity: 1; }
  .dnk-project:hover .dnk-project__media img { transform: scale(1.05); }
}
@media (max-width: 1024px) {
  .dnk-projects--mosaic .dnk-projects__grid, .dnk-projects--grid .dnk-projects__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 240px; }
}
/* Mobile: một hàng thẻ vuốt ngang, cuộn nằm trong lưới nên trang không bị cuộn ngang */
@media (max-width: 767px) {
  .dnk-projects__head { margin-bottom: 32px; gap: 20px; }
  .dnk-projects__side { gap: 20px; }
  .dnk-projects__filter { margin: -8px 0 20px; }
  .dnk-projects .dnk-projects__grid { display: flex; gap: 12px; margin: 0 -20px; padding: 0 20px 4px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 20px; scrollbar-width: none; overscroll-behavior-x: contain; }
  .dnk-projects .dnk-projects__grid::-webkit-scrollbar { display: none; }
  .dnk-projects .dnk-project, .dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) { flex: 0 0 82%; height: 400px; scroll-snap-align: start; }
  .dnk-project__inner { border-radius: 12px; }
  .dnk-project__body, .dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) .dnk-project__body { padding: 18px; }
  .dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) .dnk-project__highlight { font-size: 24px; }
  .dnk-projects--mosaic .dnk-project:not([hidden]):not(.dnk-project:not([hidden]) ~ *) .dnk-project__title { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-project:hover .dnk-project__media img { transform: none; }
  .dnk-js .dnk-project__media:not(.is-loaded) { animation: none; }
  .dnk-project.is-entering { animation: none; }
}

/* ---------- Tiêu đề nổi bật (option "Tiêu đề nổi bật" của mọi khối): dòng nhỏ có vạch vàng, chữ nhấn có gạch vàng ---------- */
.dnk-heading__eyebrow { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.dnk-heading__eyebrow::before { content: ""; flex: 0 0 auto; width: 36px; height: 3px; border-radius: 3px; background: var(--dnk-gold); }
.dnk-align-center .dnk-heading__eyebrow { justify-content: center; }
.dnk-align-center .dnk-heading__eyebrow::after { content: ""; flex: 0 0 auto; width: 36px; height: 3px; border-radius: 3px; background: var(--dnk-gold); }
.dnk-heading--feature { max-width: 760px; }
.dnk-heading--feature .dnk-heading__title, .dnk-split__title--feature { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.25rem); font-weight: 700; line-height: 1.12; letter-spacing: -.025em; }
/* Cột giới thiệu hẹp (logo trường, Về Dinao Korea): nhỏ hơn một bậc */
.dnk-ltiles__intro .dnk-heading--feature .dnk-heading__title, .dnk-pillars__intro .dnk-heading--feature .dnk-heading__title { font-size: clamp(2rem, 1.5rem + 1.4vw, 2.625rem); }
.dnk-heading__accent { position: relative; z-index: 0; color: var(--dnk-green); white-space: nowrap; }
.dnk-heading__accent::after { content: ""; position: absolute; left: -.06em; right: -.06em; bottom: .04em; z-index: -1; height: .3em; border-radius: 4px; background: var(--dnk-gold); opacity: .55; transform-origin: left center; transition: transform .9s var(--dnk-ease) .2s; }
.dnk-js .dnk-heading__accent:not(.is-seen)::after { transform: scaleX(0); }
.dnk-bg-forest .dnk-heading__accent, .dnk-fpanel .dnk-heading__accent, .dnk-cta .dnk-heading__accent { color: var(--dnk-gold); }
.dnk-bg-forest .dnk-heading__accent::after, .dnk-fpanel .dnk-heading__accent::after, .dnk-cta .dnk-heading__accent::after { background: #fff; opacity: .18; }
@media (prefers-reduced-motion: reduce) {
  .dnk-js .dnk-heading__accent:not(.is-seen)::after { transform: none; }
}

/* ---------- Thanh liên hệ nổi (inc/contact-bar.php) ---------- */
.dnk-cbar { position: fixed; right: 20px; bottom: 20px; z-index: 99; }
.dnk-cbar__list { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.dnk-cbar__item { margin: 0; }
.dnk-cbar__btn { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #fff; box-shadow: 0 12px 28px -12px rgba(12, 58, 35, .55); transition: transform .3s var(--dnk-ease), box-shadow .3s var(--dnk-ease); }
.dnk-cbar__btn:hover, .dnk-cbar__btn:focus-visible { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 32px -12px rgba(12, 58, 35, .6); }
.dnk-cbar__btn:focus-visible { outline: 2px solid var(--dnk-gold); outline-offset: 3px; }
.dnk-cbar__icon { display: block; width: 26px; height: 26px; }
.dnk-cbar__icon svg { display: block; width: 100%; height: 100%; }
.dnk-cbar__btn--phone { background: var(--dnk-green); }
.dnk-cbar__btn--zalo { background: #0068ff; --dnk-cbar-on: #0068ff; }
.dnk-cbar__btn--kakao { background: #fee500; color: #191919; --dnk-cbar-on: #fee500; }
.dnk-cbar__btn--kakao:hover, .dnk-cbar__btn--kakao:focus-visible { color: #191919; }
.dnk-cbar__btn--zalo .dnk-cbar__icon, .dnk-cbar__btn--kakao .dnk-cbar__icon { width: 30px; height: 30px; }
.dnk-cbar__label { display: none; }
.dnk-cbar__tip { position: absolute; top: 50%; right: calc(100% + 12px); padding: 8px 14px; border-radius: var(--dnk-radius); background: #fff; color: var(--dnk-ink); font-size: 14px; font-weight: 500; line-height: 1.3; white-space: nowrap; box-shadow: 0 10px 30px -12px rgba(12, 58, 35, .35); opacity: 0; pointer-events: none; transform: translate(6px, -50%); transition: opacity .25s var(--dnk-ease), transform .35s var(--dnk-ease); }
.dnk-cbar__btn:hover .dnk-cbar__tip, .dnk-cbar__btn:focus-visible .dnk-cbar__tip { opacity: 1; transform: translate(0, -50%); }
/* Vòng sóng nhẹ quanh nút gọi */
.dnk-cbar__btn--phone::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--dnk-green); opacity: .45; z-index: -1; animation: dnk-cbar-ring 2.4s var(--dnk-ease) infinite; }
@keyframes dnk-cbar-ring { 0% { transform: scale(1); opacity: .45; } 70%, 100% { transform: scale(1.6); opacity: 0; } }

/* Nút "Theo dõi" và mạng xã hội bung ra */
button.dnk-cbar__btn { margin: 0; padding: 0; border: 0; min-height: 0; font: inherit; line-height: 1; letter-spacing: 0; text-transform: none; cursor: pointer; }
.dnk-cbar__item--social { position: relative; }
.dnk-cbar__btn--social, .dnk-cbar__btn--social:hover, .dnk-cbar__btn--social:focus-visible { background: #fff; color: var(--dnk-ink); }
.dnk-cbar__btn--social .dnk-cbar__icon { width: 24px; height: 24px; }
.dnk-cbar__i-close, .is-open .dnk-cbar__i-open { display: none !important; }
.is-open .dnk-cbar__i-close { display: block !important; }
.is-open > .dnk-cbar__btn--social { background: var(--dnk-forest); color: #fff; }
.is-open > .dnk-cbar__btn--social .dnk-cbar__tip { opacity: 0; }
.dnk-cbar__social { position: absolute; top: 50%; right: calc(100% + 14px); display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; transform: translateY(-50%); visibility: hidden; pointer-events: none; transition: visibility 0s .4s; }
.is-open > .dnk-cbar__social { visibility: visible; pointer-events: auto; transition: none; }
.dnk-cbar__social li { margin: 0; opacity: 0; transform: translateX(12px) scale(.9); transition: opacity .25s var(--dnk-ease), transform .45s var(--dnk-ease); }
.is-open > .dnk-cbar__social li { opacity: 1; transform: none; }
.is-open > .dnk-cbar__social li:nth-last-child(2) { transition-delay: .04s; }
.is-open > .dnk-cbar__social li:nth-last-child(3) { transition-delay: .08s; }
.is-open > .dnk-cbar__social li:nth-last-child(4) { transition-delay: .12s; }
.dnk-cbar__soc { display: block; color: #fff; }
.dnk-cbar__soc .dnk-cbar__icon { box-sizing: border-box; width: 44px; height: 44px; padding: 11px; border-radius: 50%; box-shadow: 0 10px 24px -12px rgba(12, 58, 35, .55); transition: transform .3s var(--dnk-ease); }
.dnk-cbar__soc:hover .dnk-cbar__icon, .dnk-cbar__soc:focus-visible .dnk-cbar__icon { transform: translateY(-2px); }
.dnk-cbar__soc:focus-visible { outline: none; }
.dnk-cbar__soc:focus-visible .dnk-cbar__icon { outline: 2px solid var(--dnk-gold); outline-offset: 3px; }
.dnk-cbar__soc--facebook .dnk-cbar__icon { background: #1877f2; }
.dnk-cbar__soc--instagram .dnk-cbar__icon { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.dnk-cbar__soc--x .dnk-cbar__icon, .dnk-cbar__soc--tiktok .dnk-cbar__icon { background: #111; }
.dnk-cbar__soc-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Nút lên đầu trang (Flatsome #top-link): tròn trắng, vòng xanh chạy theo tiến độ cuộn (dnk.js) */
#top-link.back-to-top { right: 22px; display: grid; place-items: center; width: 48px; height: 48px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--dnk-ink); line-height: 1; box-shadow: 0 12px 28px -12px rgba(12, 58, 35, .45); transition: opacity .3s var(--dnk-ease), transform .4s var(--dnk-ease), background-color .3s var(--dnk-ease), color .3s var(--dnk-ease); }
#top-link.back-to-top.left { right: auto; left: 20px; }
#top-link.back-to-top::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(var(--dnk-green) calc(var(--dnk-top-p, 0) * 1turn), var(--dnk-line) 0); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2px)); mask: radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2px)); }
#top-link.back-to-top i { margin: 0; font-size: 20px; line-height: 1; color: inherit; transition: transform .35s var(--dnk-ease); }
#top-link.back-to-top:hover, #top-link.back-to-top:focus-visible { background: var(--dnk-forest); color: #fff; box-shadow: 0 16px 32px -12px rgba(12, 58, 35, .6); }
#top-link.back-to-top:hover::before, #top-link.back-to-top:focus-visible::before { background: conic-gradient(var(--dnk-gold) calc(var(--dnk-top-p, 0) * 1turn), rgba(255, 255, 255, .2) 0); }
#top-link.back-to-top:hover i { transform: translateY(-3px); }
#top-link.back-to-top:focus-visible { outline: 2px solid var(--dnk-gold); outline-offset: 3px; }

/* Nút "lên đầu trang" nằm dưới cùng; khi nút hiện ra (đã cuộn xuống) thì cột nút liên hệ nhích lên nhường chỗ */
@media (min-width: 850px) {
  .dnk-cbar-no-desktop .dnk-cbar { display: none; }
  .dnk-cbar { transition: bottom .4s var(--dnk-ease); }
  body:has(#top-link.active:not(.left)) .dnk-cbar { bottom: 80px; }
}

/* Điện thoại: một thanh dưới cùng, nút gọi nổi bật */
@media (max-width: 849px) {
  .dnk-cbar-no-mobile .dnk-cbar { display: none; }
  .dnk-cbar-mobile { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
  .dnk-cbar-mobile #top-link { bottom: calc(72px + env(safe-area-inset-bottom)); }
  .dnk-cbar { left: 0; right: 0; bottom: 0; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--dnk-line); background: #fff; box-shadow: 0 -10px 30px -18px rgba(12, 58, 35, .4); transition: transform .3s var(--dnk-ease); }
  .dnk-cbar__list { flex-direction: row; gap: 0; }
  .dnk-cbar__item { flex: 1 1 0; min-width: 0; }
  .dnk-cbar__item + .dnk-cbar__item { border-left: 1px solid var(--dnk-line); }
  .dnk-cbar__btn, .dnk-cbar__btn:hover, .dnk-cbar__btn:focus-visible { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 100%; height: 60px; border-radius: 0; background: #fff; box-shadow: none; transform: none; }
  .dnk-cbar__btn:focus-visible { outline-offset: -3px; }
  .dnk-cbar__label { display: block; font-size: 12.5px; font-weight: 600; line-height: 1.2; color: var(--dnk-ink); }
  .dnk-cbar__tip, .dnk-cbar__btn--phone::before { display: none; }
  .dnk-cbar__icon, .dnk-cbar__btn--zalo .dnk-cbar__icon, .dnk-cbar__btn--kakao .dnk-cbar__icon { width: 24px; height: 24px; }
  .dnk-cbar__btn--phone, .dnk-cbar__btn--phone:hover, .dnk-cbar__btn--phone:focus-visible { flex-direction: row; gap: 8px; background: var(--dnk-green); color: #fff; }
  .dnk-cbar__btn--phone .dnk-cbar__icon { width: 20px; height: 20px; }
  .dnk-cbar__btn--phone .dnk-cbar__label { font-size: 15px; color: #fff; }
  .dnk-cbar__btn--zalo { color: #0068ff; --dnk-cbar-on: #fff; }
  .dnk-cbar__btn--kakao, .dnk-cbar__btn--kakao:hover { color: #191919; --dnk-cbar-on: #fee500; }
  .dnk-cbar__item--social { position: static; order: 9; }
  .dnk-cbar__btn--social .dnk-cbar__icon { width: 22px; height: 22px; }
  .is-open > .dnk-cbar__btn--social { background: #fff; color: var(--dnk-green); }
  .is-open > .dnk-cbar__btn--social .dnk-cbar__label { color: var(--dnk-green); }
  .dnk-cbar__social { top: auto; right: 10px; bottom: calc(100% + 10px); gap: 18px; padding: 14px 18px 12px; border-radius: 12px; background: #fff; box-shadow: 0 18px 40px -16px rgba(12, 58, 35, .45); transform: translateY(8px); opacity: 0; transition: visibility 0s .35s, opacity .25s var(--dnk-ease), transform .35s var(--dnk-ease); }
  .is-open > .dnk-cbar__social { opacity: 1; transform: none; transition: opacity .25s var(--dnk-ease), transform .35s var(--dnk-ease); }
  .dnk-cbar__social li { transform: translateY(6px); }
  .dnk-cbar__soc { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--dnk-ink); }
  .dnk-cbar__soc .dnk-cbar__icon { box-shadow: none; }
  .dnk-cbar__soc-name { position: static; width: auto; height: auto; overflow: visible; clip: auto; font-size: 11.5px; font-weight: 500; line-height: 1.2; }
  /* Đang gõ vào form (bàn phím mở) thì thu thanh xuống để không che ô nhập */
  .dnk-cbar-mobile:has(:is(input, textarea, select):focus) .dnk-cbar { transform: translateY(110%); }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-cbar__btn--phone::before { animation: none; display: none; }
  .dnk-cbar__btn, .dnk-cbar__tip, .dnk-cbar, .dnk-cbar__social, .dnk-cbar__social li, #top-link.back-to-top, #top-link.back-to-top i { transition: none !important; }
}

/* ---------- Hiệu ứng xuất hiện (inc/motion.php, dnk.js initReveal) ----------
   Dùng thuộc tính translate/scale riêng để không đè transform hover của thẻ */
.dnk-rv { opacity: 0; translate: 0 28px; }
.dnk-rv.is-in { opacity: 1; translate: none; transition: opacity .8s var(--dnk-ease) var(--dnk-rv-d, 0ms), translate 1s var(--dnk-ease) var(--dnk-rv-d, 0ms); }
@keyframes dnk-rv-up { from { opacity: 0; translate: 0 24px; } to { opacity: 1; translate: none; } }
@keyframes dnk-rv-zoom { from { scale: 1.08; } to { scale: 1; } }
@media (prefers-reduced-motion: no-preference) {
  /* Hero chạy bằng CSS ngay khi trang hiện, không chờ JS nên không nháy */
  .dnk-reveal-on .dnk-hero .dnk-hero__img { animation: dnk-rv-zoom 1.8s var(--dnk-ease) both; }
  .dnk-reveal-on .dnk-hero .dnk-hero__content > * { animation: dnk-rv-up .9s var(--dnk-ease) .15s both; }
  .dnk-reveal-on .dnk-hero .dnk-hero__content > :nth-child(2) { animation-delay: .27s; }
  .dnk-reveal-on .dnk-hero .dnk-hero__content > :nth-child(3) { animation-delay: .39s; }
  .dnk-reveal-on .dnk-hero .dnk-hero__content > :nth-child(4) { animation-delay: .51s; }
  /* Slider đầu trang có hiệu ứng riêng cho từng slide */
  .dnk-reveal-on .dnk-slide .dnk-hero__content > *, .dnk-reveal-on .dnk-slide .dnk-hero__img { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
  .dnk-rv { opacity: 1; translate: none; }
}
