/* ==========================================================================
   Mẫu 02 – "Bright": sang trọng, tươi sáng.
   Nền trắng + xanh biển (#0369a1) + ngọc lam + vàng nắng + cam san hô.
   Nạp sau dulich.css & dulich-pages.css → đè bảng màu và thành phần.
   Tương phản chữ đã kiểm theo WCAG AA: chữ trắng chỉ đặt trên xanh biển đậm,
   chữ trên nền vàng nắng luôn là xanh navy.
   ========================================================================== */

:root {
  --dl-ink: #0b2545;          /* navy – chữ tiêu đề, nền footer */
  --dl-ink-2: #0f3460;
  --dl-ink-3: #16457a;
  --dl-gold: #ffc233;         /* vàng nắng – nút nổi bật (chữ navy) */
  --dl-gold-hover: #ffd15c;
  --dl-gold-deep: #0369a1;    /* chữ nhấn trên nền sáng */
  --dl-gold-soft: #ffe08a;    /* chữ nhấn trên nền tối */
  --dl-ivory: #ffffff;
  --dl-sand: #f0f7ff;
  --dl-text: #1e2b3a;
  --dl-muted: #55677a;
  --dl-line: #e3ecf5;
  --dl-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --dl-sans: var(--vs-font, "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  --dl-radius: 26px;
  --dl-radius-sm: 16px;
  --dl-shadow: 0 30px 60px -28px rgba(3, 60, 110, .35);
  --dl-shadow-sm: 0 14px 34px -18px rgba(3, 60, 110, .3);

  --dl-ocean: #0369a1;
  --dl-teal: #0891b2;
  --dl-sky: #38bdf8;
  --dl-coral: #ff6b5b;
  --dl-coral-deep: #c2410c;
  --dl-sun: #ffc233;
  --dl-mint: #10b981;
  --dl-grad: linear-gradient(135deg, #0369a1 0%, #0e7490 60%, #0891b2 100%);
  --dl-grad-text: linear-gradient(90deg, #0369a1 0%, #0891b2 45%, #ea580c 100%);
}

body.dl-site { background: #fff; }
.dl-site .dl-eyebrow { color: var(--dl-coral-deep); }
.dl-site .dl-eyebrow::before, .dl-head--center .dl-eyebrow::after, .dl-intro .dl-eyebrow::after { background: linear-gradient(90deg, var(--dl-coral), var(--dl-sun)); height: 2px; border-radius: 2px; }
.dl-site .dl-eyebrow--light { color: var(--dl-sun); }
.dl-site .dl-title { font-weight: 600; letter-spacing: -.02em; }
.dl-site .dl-title em,
.dl-site .dl-offer__title em,
.dl-site .dl-footer__title em,
.dl-site .dl-hero2__title em,
.dl-site .dl-band__title em {
  font-style: italic;
  background: var(--dl-grad-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.dl-site .dl-title--light em, .dl-site .dl-footer__title em, .dl-site .dl-offer__title em, .dl-site .dl-phero__title em, .dl-site .dl-article__cta h2 em {
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  color: var(--dl-sun);
}

/* Nút */
.dl-site .dl-btn { letter-spacing: .1em; font-weight: 700; }
.dl-site .dl-btn--dark { background: var(--dl-grad); color: #fff; box-shadow: 0 14px 30px -14px rgba(3, 105, 161, .75); }
.dl-site .dl-btn--dark:hover { background: var(--dl-sun); color: var(--dl-ink); box-shadow: 0 14px 30px -12px rgba(255, 194, 51, .8); transform: translateY(-2px); }
.dl-site .dl-btn--gold { color: var(--dl-ink); }
.dl-site .dl-btn--gold:hover { color: var(--dl-ink); box-shadow: 0 14px 30px -12px rgba(255, 176, 0, .75); }
.dl-site .dl-btn--line { border-color: var(--dl-ocean); color: var(--dl-ocean); }
.dl-site .dl-btn--line:hover { background: var(--dl-ocean); border-color: var(--dl-ocean); color: #fff; }
.dl-site .dl-link { color: var(--dl-ocean); border-bottom: 2px solid var(--dl-sun); }
.dl-site .dl-link:hover { color: var(--dl-coral-deep); }
.dl-round { border-color: var(--dl-line); color: var(--dl-ocean); background: #fff; }
.dl-round:hover { background: var(--dl-grad); border-color: transparent; }

/* ---------- Header sáng ---------- */
.dl-header, .dl-header--overlay { color: var(--dl-ink); }
.dl-header--solid { background: #fff; box-shadow: 0 1px 0 var(--dl-line); }
.dl-header.is-scrolled { background: rgba(255, 255, 255, .94); box-shadow: 0 14px 40px -24px rgba(3, 60, 110, .45); }
.dl-topbar { background: var(--dl-grad); color: rgba(255, 255, 255, .9); border-bottom: 0; }
.dl-topbar__note .dl-ico, .dl-topbar__list .dl-ico { color: var(--dl-sun); }
.dl-topbar__list a:hover { color: var(--dl-sun); }
.dl-site .dl-header .dl-logo, .dl-site .dl-offcanvas .dl-logo { color: var(--dl-ink); }
.dl-logo__mark { border: 0; background: var(--dl-grad); color: #fff; font-style: italic; box-shadow: 0 8px 18px -8px rgba(3, 105, 161, .8); }
.dl-logo__text strong { font-weight: 700; letter-spacing: .01em; }
.dl-logo__text small { color: var(--dl-coral-deep); font-weight: 700; }
.dl-footer .dl-logo__text small { color: var(--dl-sun); }
.dl-menu a { color: var(--dl-ink); font-weight: 600; }
.dl-menu > li > a:hover, .dl-menu > .current-menu-item > a, .dl-menu > .current-menu-ancestor > a, .dl-menu > .current_page_parent > a { color: var(--dl-ocean); }
.dl-menu > li > a::after { height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--dl-ocean), var(--dl-sun)); }
.dl-menu > .current-menu-ancestor > a::after, .dl-menu > .current_page_parent > a::after { transform: scaleX(1); }
.dl-menu .sub-menu { background: #fff; border: 1px solid var(--dl-line); }
.dl-menu .sub-menu a { color: var(--dl-ink); }
.dl-menu .sub-menu a:hover { color: var(--dl-ocean); background: var(--dl-sand); }
.dl-site .dl-bar__phone { color: var(--dl-ink); }
.dl-bar__phone small { color: var(--dl-muted); }
.dl-bar__phone-ico, .dl-iconbtn, .dl-burger { border-color: var(--dl-line); color: var(--dl-ocean); background: #fff; }
.dl-bar__phone:hover .dl-bar__phone-ico, .dl-iconbtn:hover { background: var(--dl-grad); color: #fff; border-color: transparent; }

.dl-offcanvas { background: #fff; color: var(--dl-ink); }
.dl-offcanvas__close { border-color: var(--dl-line); color: var(--dl-ink); }
.dl-offcanvas__nav li { border-color: var(--dl-line); }
.dl-site .dl-offcanvas__nav a { color: var(--dl-ink); }
.dl-site .dl-offcanvas__nav a:hover { color: var(--dl-ocean); }
.dl-site .dl-offcanvas__nav .sub-menu a { color: var(--dl-muted); }
.dl-offcanvas .vs-oc-caret { color: var(--dl-ocean); }
.dl-offcanvas .dl-btn--ghost { border-color: var(--dl-ocean); color: var(--dl-ocean); background: transparent; }
.dl-offcanvas__mail { color: var(--dl-muted); }
.dl-overlay { background: rgba(11, 37, 69, .45); }

/* ---------- Hero trang chủ (chia đôi) ---------- */
.dl-hero2 {
  position: relative;
  overflow: hidden;
  padding: 190px 0 70px;
  background:
    radial-gradient(60% 55% at 85% 20%, rgba(56, 189, 248, .22) 0%, rgba(56, 189, 248, 0) 70%),
    radial-gradient(45% 50% at 10% 90%, rgba(255, 194, 51, .22) 0%, rgba(255, 194, 51, 0) 70%),
    linear-gradient(180deg, #f2f9ff 0%, #ffffff 100%);
  isolation: isolate;
}
.dl-hero2__blob { position: absolute; z-index: -1; border-radius: 50%; filter: blur(2px); }
.dl-hero2__blob--a { top: 120px; left: -80px; width: 220px; height: 220px; background: radial-gradient(circle, rgba(255, 107, 91, .22), rgba(255, 107, 91, 0) 70%); }
.dl-hero2__blob--b { top: 60px; right: 30%; width: 14px; height: 14px; background: var(--dl-sun); filter: none; box-shadow: 380px 420px 0 -3px var(--dl-coral), -200px 380px 0 -4px var(--dl-sky); }
.dl-hero2__blob--c { bottom: 120px; right: -120px; width: 320px; height: 320px; background: radial-gradient(circle, rgba(8, 145, 178, .18), rgba(8, 145, 178, 0) 70%); }
.dl-hero2__grid { display: grid; grid-template-columns: 1.02fr 1fr; gap: clamp(40px, 5vw, 80px); align-items: center; }
.dl-pill { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 26px; padding: 9px 18px 9px 12px; border-radius: 999px; background: #fff; box-shadow: var(--dl-shadow-sm); font-size: .82rem; font-weight: 600; color: var(--dl-ink); animation: dl-rise .9s var(--dl-ease) both; }
.dl-pill__dot { position: relative; width: 10px; height: 10px; border-radius: 50%; background: var(--dl-coral); }
.dl-pill__dot::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid var(--dl-coral); opacity: .5; animation: dl-ping 1.8s ease-out infinite; }
@keyframes dl-ping { from { transform: scale(.6); opacity: .7; } to { transform: scale(1.6); opacity: 0; } }
.dl-site .dl-hero2__title { margin: 0 0 24px; font-family: var(--dl-serif); font-size: clamp(2.6rem, 5.4vw, 4.9rem); font-weight: 600; line-height: 1.06; letter-spacing: -.025em; color: var(--dl-ink); text-wrap: balance; animation: dl-rise 1s .08s var(--dl-ease) both; }
.dl-site .dl-hero2__lead { max-width: 560px; margin: 0 0 34px; font-size: 1.1rem; line-height: 1.8; color: var(--dl-muted); animation: dl-rise 1s .16s var(--dl-ease) both; }
.dl-hero2__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; animation: dl-rise 1s .24s var(--dl-ease) both; }
.dl-site .dl-hero2__call { display: inline-flex; align-items: center; gap: 12px; color: var(--dl-ink); font-weight: 700; text-decoration: none; line-height: 1.25; }
.dl-hero2__call small { display: block; font-size: .7rem; font-weight: 600; letter-spacing: .06em; color: var(--dl-muted); }
.dl-hero2__call-ico { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--dl-sun); color: var(--dl-ink); }
.dl-hero2__call-ico::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(255, 194, 51, .55); animation: dl-ping 2s ease-out infinite; }
.dl-hero2__call-ico .dl-ico { width: 20px; height: 20px; }
.dl-hero2__proof { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 40px; font-size: .9rem; color: var(--dl-muted); animation: dl-rise 1s .32s var(--dl-ease) both; }
.dl-hero2__proof strong { color: var(--dl-ink); margin: 0 4px; }
.dl-hero2__avatars { display: inline-flex; align-items: center; }
.dl-hero2__avatars img, .dl-hero2__avatars b { width: 44px; height: 44px; margin-left: -12px; border-radius: 50%; border: 3px solid #fff; object-fit: cover; }
.dl-hero2__avatars img:first-child { margin-left: 0; }
.dl-hero2__avatars b { display: grid; place-items: center; background: var(--dl-grad); color: #fff; font-size: .7rem; }
.dl-hero2__stars { display: inline-flex; gap: 1px; vertical-align: -2px; color: var(--dl-sun); }
.dl-hero2__stars .dl-ico { width: 15px; height: 15px; }

.dl-hero2__media { position: relative; display: grid; grid-template-columns: 1.15fr 1fr; grid-template-rows: 1fr 1fr; gap: 18px; height: clamp(440px, 44vw, 600px); }
.dl-hero2__ring { position: absolute; top: 8%; left: 14%; z-index: -1; width: 78%; aspect-ratio: 1; border: 2px dashed rgba(3, 105, 161, .25); border-radius: 50%; animation: dl-spin 60s linear infinite; }
.dl-hero2__img { position: relative; margin: 0; overflow: hidden; border-radius: 28px; box-shadow: var(--dl-shadow); animation: dl-rise 1.1s var(--dl-ease) both; }
.dl-hero2__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--dl-ease); }
.dl-hero2__img:hover img { transform: scale(1.06); }
.dl-hero2__img--main { grid-row: span 2; border-radius: 200px 200px 28px 28px; animation-delay: .1s; }
.dl-hero2__img--top { animation-delay: .2s; border-radius: 28px 28px 28px 90px; }
.dl-hero2__img--bottom { animation-delay: .3s; border-radius: 28px 90px 28px 28px; }
.dl-hero2__img figcaption { position: absolute; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: .78rem; font-weight: 700; color: var(--dl-ink); }
.dl-hero2__img figcaption .dl-ico { width: 14px; height: 14px; color: var(--dl-coral-deep); }
.dl-hero2__card { position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px; border-radius: 20px; background: rgba(255, 255, 255, .96); box-shadow: var(--dl-shadow); text-decoration: none; color: var(--dl-ink); animation: dl-float 6s ease-in-out infinite; }
.dl-hero2__card strong { display: block; font-size: .98rem; line-height: 1.25; }
.dl-hero2__card small { display: flex; align-items: center; gap: 5px; font-size: .72rem; font-weight: 600; color: var(--dl-muted); }
.dl-hero2__card small .dl-ico { width: 13px; height: 13px; color: var(--dl-coral); }
.dl-hero2__card em { display: block; font-style: normal; font-weight: 800; font-size: .9rem; color: var(--dl-ocean); }
.dl-hero2__card--rate { top: 7%; left: -34px; }
.dl-hero2__card-ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(135deg, #ffc233, #ff8a5b); color: #fff; }
.dl-hero2__card-ico .dl-ico { width: 24px; height: 24px; }
.dl-hero2__card--trip { right: -20px; bottom: -26px; animation-delay: -3s; }
.dl-hero2__trip-img { width: 60px; height: 60px; flex: none; overflow: hidden; border-radius: 14px; }
.dl-hero2__trip-img img { width: 100%; height: 100%; object-fit: cover; }
@keyframes dl-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

.dl-search--float { position: relative; z-index: 3; max-width: none; margin-top: 64px; border: 1px solid var(--dl-line); box-shadow: 0 30px 60px -30px rgba(3, 60, 110, .45); }
.dl-search__field label { color: var(--dl-coral-deep); }
.dl-search__field:focus-within { background: var(--dl-sand); }
.dl-search__btn { background: var(--dl-grad); }
.dl-search__btn:hover { background: var(--dl-sun); color: var(--dl-ink); }

/* ---------- Phong cách hành trình ---------- */
.dl-styles { padding-top: clamp(64px, 8vw, 110px); background: #fff; }
.dl-styles__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.dl-site .dl-style {
  --tone: #0369a1; --tint: #e6f3fb;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 250px;
  padding: 28px 24px;
  overflow: hidden;
  border-radius: var(--dl-radius);
  background: var(--tint);
  color: var(--dl-ink);
  text-decoration: none;
  transition: transform .45s var(--dl-ease), box-shadow .45s var(--dl-ease);
}
.dl-style::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 140px; height: 140px; border-radius: 50%; background: var(--tone); opacity: .12; transition: transform .6s var(--dl-ease); }
.dl-site .dl-style:hover { transform: translateY(-8px); box-shadow: 0 28px 50px -30px var(--tone); }
.dl-style:hover::after { transform: scale(1.6); }
/* Tông chữ/icon đậm để đạt AA (≥ 4.5:1) trên nền nhạt tương ứng. */
.dl-style--sky { --tone: #0369a1; --tint: #e0f2fe; }
.dl-style--teal { --tone: #0f766e; --tint: #ccfbf1; }
.dl-style--coral { --tone: #be123c; --tint: #ffe4e6; }
.dl-style--sun { --tone: #b45309; --tint: #fef3c7; }
.dl-style--mint { --tone: #047857; --tint: #d1fae5; }
.dl-style__ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 22px; border-radius: 18px; background: #fff; color: var(--tone); box-shadow: 0 10px 24px -14px var(--tone); }
.dl-style__ico .dl-ico { width: 26px; height: 26px; }
.dl-style__name { font-family: var(--dl-serif); font-size: 1.4rem; font-weight: 700; line-height: 1.2; }
.dl-style__desc { margin-top: 8px; font-size: .88rem; line-height: 1.55; color: #3b4b5c; }
.dl-style__count { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 18px; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--tone); }
.dl-style__count .dl-ico { width: 16px; height: 16px; }

/* ---------- Các khối trang chủ ---------- */
.dl-about { background: var(--dl-sand); }
.dl-about__sub { border-color: var(--dl-sand); }
.dl-about__badge { background: var(--dl-grad); box-shadow: 0 20px 40px -18px rgba(3, 105, 161, .7); }
.dl-about__badge::before { border-color: rgba(255, 255, 255, .45); }
.dl-about__badge strong { color: var(--dl-sun); }
.dl-checks .dl-ico { background: #d1fae5; color: #047857; }
.dl-stats strong { color: var(--dl-ocean); }

.dl-dest { background: #fff; }
.dl-tabs { background: var(--dl-sand); border-color: var(--dl-line); }
.dl-tab[aria-selected="true"] { background: var(--dl-grad); }
.dl-dest__card::after { background: linear-gradient(180deg, rgba(3, 40, 80, 0) 40%, rgba(3, 40, 80, .78) 100%); }
.dl-dest__country { color: var(--dl-sun); }
.dl-dest__card:hover .dl-dest__count .dl-ico { background: var(--dl-sun); border-color: var(--dl-sun); color: var(--dl-ink); }

.dl-tours { background: var(--dl-sand); }
.dl-tour { box-shadow: 0 1px 0 var(--dl-line), 0 18px 40px -34px rgba(3, 60, 110, .5); }
.dl-tour__badge { background: var(--dl-sun); color: var(--dl-ink); }
.dl-tour__dur { background: rgba(3, 105, 161, .85); }
.dl-tour__dur .dl-ico { color: var(--dl-sun); }
.dl-site .dl-tour__place { color: var(--dl-coral-deep); }
.dl-tour__meta .dl-ico { color: var(--dl-teal); }
.dl-tour__rating .dl-ico { color: var(--dl-sun); }
.dl-tour__price strong { color: var(--dl-ocean); }

.dl-exp { background: var(--dl-grad); }
.dl-exp::before { background: radial-gradient(circle, rgba(255, 194, 51, .22) 0%, rgba(255, 194, 51, 0) 60%); }
.dl-exp__media > img { box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .45); }
.dl-exp__card { background: #fff; }
.dl-exp__stars { color: var(--dl-sun); }
.dl-perk__ico { border-color: rgba(255, 255, 255, .45); color: var(--dl-sun); background: rgba(255, 255, 255, .08); }
.dl-perk:hover .dl-perk__ico { background: var(--dl-sun); color: var(--dl-ink); border-color: var(--dl-sun); }
.dl-site .dl-perk p { color: rgba(255, 255, 255, .85); }

.dl-sig { background: #fff; }
.dl-sig__item::after { background: linear-gradient(180deg, rgba(3, 40, 80, 0) 35%, rgba(3, 40, 80, .82) 100%); }
.dl-sig__no { color: var(--dl-sun); }

.dl-offer::before { background: linear-gradient(120deg, rgba(3, 105, 161, .72) 0%, rgba(8, 145, 178, .45) 50%, rgba(234, 88, 12, .35) 100%); }

.dl-testi { background: linear-gradient(180deg, #fff7e6 0%, #f0f7ff 100%); }
.dl-testi__score > strong { color: var(--dl-ocean); }
.dl-testi__stars, .dl-testi__q { color: var(--dl-sun); }
.dl-testi__card figcaption img { border-color: var(--dl-sun); }

.dl-gallery { background: #fff; }
.dl-gallery__item::after { background: linear-gradient(180deg, transparent 50%, rgba(3, 40, 80, .75)); }
.dl-gallery__item figcaption .dl-ico { color: var(--dl-sun); }

.dl-journal { background: var(--dl-sand); }
.dl-post:hover .dl-post__title { color: var(--dl-ocean); }
.dl-post__meta .dl-ico { color: var(--dl-teal); }

.dl-contact__bg::after { background: linear-gradient(100deg, rgba(3, 60, 110, .94) 0%, rgba(3, 105, 161, .82) 45%, rgba(8, 145, 178, .45) 100%); }
.dl-contact__ico { border-color: rgba(255, 194, 51, .6); color: var(--dl-sun); }
.dl-contact__info a:hover { color: var(--dl-sun); }
.dl-form { background: #fff; }
.dl-field input:not([type="checkbox"]), .dl-field select, .dl-field textarea { background: #f7fbff; }
.dl-field input:focus, .dl-field select:focus, .dl-field textarea:focus { border-color: var(--dl-teal); box-shadow: 0 0 0 4px rgba(8, 145, 178, .18); }
.dl-consent input { accent-color: var(--dl-ocean); }
.dl-form__micro .dl-ico { color: var(--dl-mint); }

/* ---------- Footer ---------- */
.dl-footer { position: relative; background: #0b2545; }
.dl-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--dl-ocean), var(--dl-teal), var(--dl-sun), var(--dl-coral)); }
.dl-site .dl-footer h3 { color: var(--dl-sun); }
.dl-footer__contact .dl-ico { color: var(--dl-sun); }
.dl-footer__socials a:hover { background: var(--dl-sun); border-color: var(--dl-sun); }
.dl-footer__legal a:hover { color: var(--dl-sun); }
.dl-top { background: var(--dl-grad); color: #fff; }
.dl-top:hover { background: var(--dl-sun); color: var(--dl-ink); }

/* ---------- Trang con ---------- */
.dl-phero__bg::after { background: linear-gradient(90deg, rgba(3, 40, 80, .78) 0%, rgba(3, 60, 110, .45) 55%, rgba(3, 60, 110, .12) 100%), linear-gradient(0deg, rgba(3, 40, 80, .45) 0%, rgba(3, 40, 80, 0) 45%); }
.dl-crumbs a:hover { color: var(--dl-sun); }
.dl-phero__facts .dl-ico { background: var(--dl-sun); }
.dl-phero__meta .dl-ico { color: var(--dl-sun); }
.dl-filter { border: 1px solid var(--dl-line); }
.dl-filter__field label { color: var(--dl-coral-deep); }
.dl-filter select { background: #f7fbff; }
.dl-site .dl-chip:hover, .dl-site .dl-chip.is-active { background: var(--dl-grad); border-color: transparent; }
.dl-site .dl-pager .page-numbers.current, .dl-site .dl-pager a.page-numbers:hover { background: var(--dl-grad); border-color: transparent; }
.dl-band { background: linear-gradient(120deg, #fff4dc 0%, #e0f2fe 100%); }
.dl-empty > .dl-ico { color: var(--dl-teal); }

.dl-thead { background: linear-gradient(180deg, #f2f9ff 0%, #fff 100%); }
.dl-site .dl-tag--gold { background: var(--dl-sun); border-color: var(--dl-sun); color: var(--dl-ink); }
.dl-stars .is-on { color: var(--dl-sun); }
.dl-thead__meta > li > .dl-ico { color: var(--dl-teal); }
.dl-site .dl-subnav a:hover, .dl-site .dl-subnav a.is-active { color: var(--dl-ocean); border-color: var(--dl-sun); }
.dl-site .dl-subnav a.dl-subnav__cta { color: var(--dl-coral-deep); }
.dl-facts .dl-ico, .dl-pricebox__facts .dl-ico, .dl-notes .dl-ico { color: var(--dl-teal); }
.dl-highlights li { background: linear-gradient(135deg, #e0f2fe, #f0fdfa); }
.dl-highlights .dl-ico { color: var(--dl-coral-deep); }
.dl-itin li::before { border-color: var(--dl-teal); background: #fff; }
.dl-itin__day { background: var(--dl-grad); }
.dl-itin__caret { color: var(--dl-ocean); }
.dl-pricebox { border-top: 4px solid var(--dl-sun); }
.dl-pricebox__badge { background: var(--dl-coral-deep); color: #fff; }
.dl-pricebox__price strong { color: var(--dl-ocean); }
.dl-textbtn { color: var(--dl-ocean); }
.dl-prose a { color: var(--dl-ocean); }
.dl-prose ul li::marker { color: var(--dl-teal); }
.dl-prose ol li::marker { color: var(--dl-coral-deep); }
.dl-prose blockquote { border-left: 3px solid var(--dl-sun); }

.dl-statband { background: var(--dl-grad); }
.dl-statband strong { color: var(--dl-sun); }
.dl-value { background: #fff; box-shadow: 0 1px 0 var(--dl-line); }
.dl-values { background: var(--dl-sand); }
.dl-value .dl-perk__ico, .dl-infocard .dl-perk__ico { background: linear-gradient(135deg, #e0f2fe, #ccfbf1); border: 0; color: var(--dl-ocean); }
.dl-value__no { color: #d6e6f5; }
.dl-timeline { background: #fff; }
.dl-timeline__list::before { background: linear-gradient(90deg, var(--dl-ocean), var(--dl-teal), var(--dl-sun)); height: 2px; }
.dl-timeline__list li::before { border-color: var(--dl-teal); }
.dl-timeline__year { color: var(--dl-ocean); }
.dl-team { background: var(--dl-sand); }
.dl-member__img img { filter: none; }
.dl-faqmini { background: linear-gradient(120deg, #fff4dc 0%, #e0f2fe 100%); }
.dl-faq__caret { color: var(--dl-ocean); }
.dl-faqpage__nav > a:hover { border-color: var(--dl-teal); }
.dl-faqpage__help { background: var(--dl-grad); }
.dl-article { background: #fff; }
.dl-article__cta { background: var(--dl-grad); }
.dl-postnav small, .dl-updated .dl-ico { color: var(--dl-coral-deep); }
.dl-site .dl-share a:hover { background: var(--dl-grad); border-color: transparent; }

/* Thanh liên hệ di động: nền trắng, nút chính gradient */
@media (max-width: 767px) {
  .dl-mobilebar { background: rgba(255, 255, 255, .97); border-top: 1px solid var(--dl-line); box-shadow: 0 -10px 30px -20px rgba(3, 60, 110, .5); }
  .dl-site .dl-mobilebar a { color: var(--dl-ink); }
  .dl-mobilebar a .dl-ico { color: var(--dl-ocean); }
  .dl-site .dl-mobilebar a.is-primary { background: var(--dl-grad); color: #fff; }
  .dl-mobilebar a.is-primary .dl-ico { color: var(--dl-sun); }
}

/* ---------- Responsive hero/phong cách ---------- */
@media (max-width: 1180px) {
  .dl-styles__grid { grid-template-columns: repeat(3, 1fr); }
  .dl-hero2__card--rate { left: -10px; }
  .dl-hero2__card--trip { right: 0; }
}
@media (max-width: 1023px) {
  .dl-hero2 { padding-top: 150px; }
  .dl-hero2__grid { grid-template-columns: 1fr; }
  .dl-hero2__media { max-width: 620px; width: 100%; margin: 20px auto 0; }
}
@media (max-width: 767px) {
  .dl-hero2 { padding: 110px 0 48px; }
  .dl-pill { font-size: .72rem; margin-bottom: 18px; }
  .dl-site .dl-hero2__title { font-size: 2.35rem; }
  .dl-site .dl-hero2__lead { font-size: 1rem; }
  .dl-hero2__actions { gap: 16px; }
  .dl-hero2__actions .dl-btn { flex: 1 1 100%; }
  .dl-hero2__proof { margin-top: 28px; font-size: .82rem; }
  .dl-hero2__media { height: 400px; gap: 12px; }
  .dl-hero2__img--main { border-radius: 140px 140px 22px 22px; }
  .dl-hero2__card { padding: 8px 12px 8px 8px; border-radius: 16px; }
  .dl-hero2__card--rate { top: 16px; bottom: auto; left: 8px; }
  .dl-hero2__card--trip { right: 8px; bottom: -22px; max-width: 250px; }
  .dl-hero2__card strong { font-size: .84rem; }
  .dl-hero2__card-ico { width: 38px; height: 38px; }
  .dl-hero2__trip-img { width: 48px; height: 48px; }
  .dl-hero2__ring { display: none; }
  .dl-search--float { margin-top: 48px; }
  .dl-styles__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .dl-site .dl-style { min-height: 0; padding: 20px 16px; }
  .dl-style__desc { display: none; }
  .dl-style__name { font-size: 1.15rem; }
  .dl-style__ico { width: 46px; height: 46px; margin-bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .dl-hero2__card, .dl-hero2__ring, .dl-pill__dot::after, .dl-hero2__call-ico::after { animation: none; }
}
