/* =====================================================================
   FONT: Mona Sans — tự host từ assets/fonts/Mona Sans/ (variable font, phủ weight 200-900)
   ===================================================================== */
@font-face{
    font-family:'Mona Sans';
    src:url('../fonts/Mona Sans/Mona-Sans.ttf') format('truetype-variations'),
        url('../fonts/Mona Sans/Mona-Sans.ttf') format('truetype');
    font-weight:200 900;
    font-style:normal;
    font-display:swap;
}

/* =====================================================================
   DU LỊCH HOÀNG GIA — Travel theme (prefix: dlhg-)
   Colors: primary #08291B | secondary #124838 | accent #E85E3B / #E65100
   ===================================================================== */
.dlhg-hero,.dlhg-about,.dlhg-routes,.dlhg-price,.dlhg-stats-wrap,.dlhg-faq,
.dlhg-video,.dlhg-news,.dlhg-partners,.dlhg-footer,.dlhg-header{
    font-family:'Mona Sans','Be Vietnam Pro',system-ui,'Segoe UI',sans-serif;
    box-sizing:border-box;
}
.dlhg-hero *,.dlhg-about *,.dlhg-routes *,.dlhg-price *,.dlhg-stats-wrap *,
.dlhg-faq *,.dlhg-video *,.dlhg-news *,.dlhg-partners *,.dlhg-footer *,.dlhg-header *{box-sizing:border-box}
.dlhg-container{width:100%;max-width:1200px;margin:0 auto;padding-left:15px;padding-right:15px}
.dlhg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border-radius:8px;font-weight:700;font-size:16px;line-height:1;padding:14px 40px;transition:.25s}
.dlhg-btn--dark{background:#124838;color:#fff}
.dlhg-btn--dark:hover{background:#0d3b2e;color:#fff}

/* =====================================================================
   SITE-WIDE EFFECTS — áp dụng cho MỌI trang (không riêng trang chủ)
   ===================================================================== */
html{scroll-behavior:smooth}

/* Hiệu ứng xuất hiện khi cuộn — gắn data-reveal="fade-up|fade-down|fade-left|fade-right|fade-in|zoom-in" trong blade bất kỳ trang nào */
[data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
[data-reveal="fade-up"]{transform:translateY(32px)}
[data-reveal="fade-down"]{transform:translateY(-32px)}
[data-reveal="fade-left"]{transform:translateX(-40px)}
[data-reveal="fade-right"]{transform:translateX(40px)}
[data-reveal="fade-in"]{transform:none}
[data-reveal="zoom-in"]{transform:scale(.92)}
[data-reveal].dlhg-in-view{opacity:1;transform:none}
[data-reveal-delay="1"]{transition-delay:.08s}
[data-reveal-delay="2"]{transition-delay:.16s}
[data-reveal-delay="3"]{transition-delay:.24s}
[data-reveal-delay="4"]{transition-delay:.32s}
[data-reveal-delay="5"]{transition-delay:.4s}
[data-reveal-delay="6"]{transition-delay:.48s}
@media (prefers-reduced-motion: reduce){
    [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
}

/* Hover polish dùng chung: nút, ảnh card, link — áp cho toàn site qua các class có sẵn */
a,button,.dlhg-btn,.item-news,.dlhg-route-card,.dlhg-price-card,.dlhg-news-card,.dlhg-criteria-card,.dlhg-partner-item{
    transition:transform .3s ease,box-shadow .3s ease,background-color .25s ease,color .25s ease,border-color .25s ease;
}
.item-news .card-image img,.dlhg-news-img,.dlhg-price-img span{transition:transform .5s ease}
.item-news:hover .card-image img{transform:scale(1.06)}
.dlhg-news-card:hover .dlhg-news-img,.dlhg-price-card:hover .dlhg-price-img span{transform:scale(1.05)}
.dlhg-news-img{overflow:hidden}
.dlhg-price-img{overflow:hidden;border-radius:12px}
/* .dlhg-route-img chứa badge overlay (con) nên KHÔNG zoom cả khối — chỉ giữ hiệu ứng nhấc card */
.dlhg-route-card:hover,.dlhg-price-card:hover,.dlhg-news-card:hover,.dlhg-criteria-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(18,72,56,.14)}
.dlhg-partner-item:hover{transform:translateY(-4px) scale(1.04)}

/* ---------- Section heading ---------- */
.dlhg-heading{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px;text-align:center}
.dlhg-heading-title{font-size:36px;line-height:1.4;font-weight:700;color:#052C1F;margin:0}
.dlhg-heading-deco{display:flex;align-items:center;gap:16px}
.dlhg-heading-deco i{display:block;width:60px;height:1px;background:#E85E3B}
.dlhg-heading-deco--light .dlhg-heading-title{color:#fff}
.dlhg-heading-deco--light i{background:#fff}

/* =====================================================================
   HEADER / NAV
   ===================================================================== */
.dlhg-header{width:100%;z-index:60}
.dlhg-header--home{position:absolute;top:0;left:0;right:0}
.dlhg-header--inner{position:relative;background:#124838}
.dlhg-topbar{background:#08291B;color:#fff}
.dlhg-topbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:57px;gap:20px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap}
.dlhg-topbar-left{display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.dlhg-topbar-item{display:inline-flex;align-items:center;gap:16px;color:#fff;text-decoration:none;font-size:16px;font-weight:500}
.dlhg-topbar-item svg{flex-shrink:0}
.dlhg-topbar-right{display:flex;align-items:center;gap:10px}
.dlhg-topbar-follow{font-size:16px;font-weight:500}
.dlhg-social{display:flex;align-items:center;gap:8px}
.dlhg-social-item{width:41px;height:41px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:.25s}
.dlhg-social-item:hover{background:rgba(255,255,255,.12)}
.dlhg-social-item img{width:20px;height:21px;object-fit:contain}

.dlhg-mainnav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:97px;background:#FFFFFF1A;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding-right:56px}
/* Trang trong: bỏ nền kính mờ (chỉ dùng cho trang chủ, nổi trên ảnh hero) — hoà vào nền xanh đặc của header */
.dlhg-header--inner .dlhg-mainnav-inner{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.dlhg-header--home .dlhg-mainnav{background:transparent}
.dlhg-logo{display:flex;align-items:center;flex-shrink:0}
.dlhg-logo img{width:225px;height:73px;object-fit:contain;background:#fff;border-radius:999px;padding:0 12px 0 0}
.dlhg-logo-text{color:#fff;font-weight:800;font-size:20px}
.dlhg-menu{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dlhg-menu-item{position:relative}
.dlhg-menu-link{display:inline-flex;align-items:center;gap:4px;color:#fff;text-decoration:none;font-family:'Mona Sans','Be Vietnam Pro',sans-serif;font-weight:600;font-size:20px;padding:10px 14px;border-radius:8px;text-shadow:0 2px 4px rgba(0,0,0,.28);transition:.2s}
.dlhg-menu-link:hover,.dlhg-menu-link.active{color:#F59E0B}
.dlhg-header--inner .dlhg-menu-link{text-shadow:none}
.dlhg-menu-caret{transition:transform .2s}
.dlhg-menu-item.has-dropdown:hover .dlhg-menu-caret{transform:rotate(180deg)}
/* Dropdown danh mục cấp 1 — DỊCH VỤ, ĐIỂM ĐẾN (danh sách dọc) */
.dlhg-menu-dropdown{position:absolute;top:100%;left:0;z-index:60;display:none;flex-direction:column;min-width:220px;padding:8px;margin-top:6px;background:#fff;border-radius:12px;box-shadow:0 20px 45px rgba(0,0,0,.18)}
.dlhg-menu-item.has-dropdown:hover .dlhg-menu-dropdown{display:flex}
.dlhg-menu-dropdown-item{position:relative}
.dlhg-menu-dropdown-list{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;font-weight:700;font-size:15px;color:#124838;text-decoration:none;border-radius:8px;white-space:nowrap}
.dlhg-menu-dropdown-list:hover{background:#F6FFFC}
.dlhg-menu-dropdown-list svg{flex-shrink:0;color:#9CA3AF}
/* Cấp 2 — chỉ hiện khi hover đúng item cấp 1 chứa nó (flyout bên phải) */
.dlhg-menu-dropdown-cats{position:absolute;top:0;left:100%;z-index:70;display:none;flex-direction:column;min-width:200px;margin-left:6px;padding:8px;background:#fff;border-radius:12px;box-shadow:0 20px 45px rgba(0,0,0,.18)}
.dlhg-menu-dropdown-item.has-cats:hover .dlhg-menu-dropdown-cats{display:flex}
.dlhg-menu-dropdown-cat{display:block;padding:8px 12px;font-size:14px;color:#4B5563;text-decoration:none;border-radius:8px;white-space:nowrap}
.dlhg-menu-dropdown-cat:hover{background:#F6FFFC;color:#124838}
.dlhg-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.dlhg-burger span{width:26px;height:3px;background:#fff;border-radius:3px;transition:.2s}
.dlhg-mobile-menu{display:none;flex-direction:column;background:#08291B}
.dlhg-mobile-menu a{color:#fff;text-decoration:none;font-weight:600}
.dlhg-mobile-menu a.active{color:#F59E0B}
.dlhg-mobile-menu.open{display:flex}
.dlhg-mmenu-item{border-top:1px solid rgba(255,255,255,.08)}
.dlhg-mmenu-row{display:flex;align-items:stretch}
.dlhg-mmenu-row>a{flex:1 1 auto;padding:14px 20px}
.dlhg-mmenu-toggle{background:none;border:0;border-left:1px solid rgba(255,255,255,.08);padding:0 20px;cursor:pointer;color:#fff}
.dlhg-mmenu-toggle svg{transition:transform .2s}
.dlhg-mmenu-item.open .dlhg-mmenu-toggle svg{transform:rotate(180deg)}
.dlhg-mmenu-sub{display:none;flex-direction:column;background:rgba(0,0,0,.15)}
.dlhg-mmenu-item.open .dlhg-mmenu-sub{display:flex}
.dlhg-mmenu-sub-item{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.06)}
.dlhg-mmenu-sub-row{display:flex;align-items:stretch}
.dlhg-mmenu-sub-row>a{flex:1 1 auto;padding:10px 20px 10px 32px;font-size:14px}
.dlhg-mmenu-subtoggle{background:none;border:0;padding:0 20px;cursor:pointer;color:#fff}
.dlhg-mmenu-subtoggle svg{transition:transform .2s}
.dlhg-mmenu-sub-item.open .dlhg-mmenu-subtoggle svg{transform:rotate(180deg)}
/* Cấp 2 — mặc định ẩn, chỉ hiện khi bấm mở đúng danh mục cấp 1 chứa nó */
.dlhg-mmenu-sub-cats{display:none;flex-direction:column;background:rgba(0,0,0,.15)}
.dlhg-mmenu-sub-item.open .dlhg-mmenu-sub-cats{display:flex}
.dlhg-mmenu-sub-cat{padding:8px 20px 8px 48px!important;font-weight:400!important;color:rgba(255,255,255,.75)!important;font-size:13px!important}
/* Nút info + panel liên hệ (chỉ hiện <480px, xem media query) */
.dlhg-navinfo-btn{display:none;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;padding:8px;color:#fff}
.dlhg-navinfo-panel{display:none;flex-direction:column;background:#08291B}
.dlhg-navinfo-panel a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:14px 20px;border-top:1px solid rgba(255,255,255,.08);font-size:14px;font-weight:500}
.dlhg-navinfo-panel a svg{flex-shrink:0}
.dlhg-navinfo-panel.open{display:flex}
/* Nút "Xem tất cả" bảng giá — JS (apps.js) bật display:flex khi số item vượt quá số cột hiển thị được */
.dlhg-price-more{display:none;justify-content:center;margin-top:16px}

/* =====================================================================
   HERO
   ===================================================================== */
.dlhg-hero{position:relative;min-height:678px;overflow:visible;margin-bottom:260px}
.dlhg-hero-slides{position:absolute;inset:0;z-index:0}
.dlhg-hero-slides.swiper,.dlhg-hero-slides .swiper-wrapper,.dlhg-hero-slides .swiper-slide{height:100%}
.dlhg-hero-slide{height:100%;min-height:678px;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}
.dlhg-hero-slide--empty{background:linear-gradient(120deg,#08291B,#124838)}
.dlhg-hero-caption{position:absolute;top:36%;left:0;right:0;transform:translateY(-50%);text-align:center;padding:0 24px;display:flex;flex-direction:column;align-items:center;gap:16px}
.dlhg-hero-title{color:#FCFCFC;font-family:'Montserrat Alternates','Mona Sans',sans-serif;font-weight:700;font-size:45px;line-height:1.25;letter-spacing:.005em;text-shadow:0 4px 4px rgba(0,0,0,.4);margin:0;max-width:920px;margin-left:auto;margin-right:auto}
.dlhg-hero-desc{color:#fff;font-family:'Karla','Mona Sans',sans-serif;font-weight:400;font-size:20px;line-height:1.5;letter-spacing:.005em;text-shadow:0 4px 4px rgba(0,0,0,.4);margin:0;max-width:779px;margin-left:auto;margin-right:auto}
.dlhg-hero-dots{position:absolute;bottom:12px;left:0;right:0;z-index:2;display:flex;justify-content:center;gap:8px}
.dlhg-hero-dots .swiper-pagination-bullet{background:#fff;opacity:.6}
.dlhg-hero-dots .swiper-pagination-bullet-active{opacity:1;background:#F59E0B}

/* booking */
.dlhg-booking-wrap{position:absolute;left:0;right:0;bottom:-238px;z-index:5;width:100%}
.dlhg-booking{max-width:1196px;margin:0 auto;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);overflow:hidden;border:1px solid #F3F4F6}
.dlhg-booking-head{background:#124838;padding:24px 32px;display:flex;align-items:center;gap:16px}
.dlhg-booking-head-icon{width:48px;height:48px;object-fit:contain;flex-shrink:0}
.dlhg-booking-head-text{display:flex;flex-direction:column;gap:4px}
.dlhg-booking-head-title{color:#fff;font-weight:700;font-size:20px;line-height:1.4}
.dlhg-booking-head-sub{color:#fff;font-weight:500;font-size:16px;opacity:.92}
.dlhg-booking-form{background:#fff;padding:28px 32px 48px;display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.dlhg-field{display:flex;flex-direction:column;gap:8px}
.dlhg-field label{font-weight:700;font-size:14px;color:#374151}
.dlhg-input{display:flex;align-items:center;gap:11px;height:46px;padding:0 12px;border:1px solid #E5E7EB;border-radius:12px;background:#fff}
.dlhg-input svg{flex-shrink:0}
.dlhg-input input,.dlhg-input select{border:0;outline:0;width:100%;font-size:14px;color:#1B4332;background:transparent;font-family:inherit}
.dlhg-input input::placeholder{color:#6B7280}
.dlhg-field--btn{justify-content:flex-end;align-items:flex-end;grid-column:1 / -1}
.dlhg-booking-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#124838;color:#fff;border:0;border-radius:8px;font-weight:700;font-size:16px;padding:12px 40px;height:46px;cursor:pointer;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transition:.25s}
.dlhg-booking-btn:hover{background:#0d3b2e}

/* =====================================================================
   VỀ CHÚNG TÔI
   ===================================================================== */
.dlhg-about{background:#fff;padding:70px 0}
.dlhg-about-inner{display:flex;align-items:center;gap:53px}
.dlhg-about-media{position:relative;flex:0 0 auto;width:590px;height:525px;max-width:100%}
.dlhg-about-photo{position:absolute;top:0;background-size:cover;background-position:center;background-color:#dbe7e1}
/* Ảnh nền lớn — bên trái, notch bên phải để ảnh nhỏ chồng vào (path lấy đúng từ Figma "Subtract") */
.dlhg-about-photo--big{
    left:0;width:346.17px;height:525px;z-index:1;box-shadow:0 20px 45px rgba(0,0,0,.12);
    clip-path:path("M251.167 0C303.634 0 346.167 42.533 346.167 95V142.077C330.388 159.038 320.738 181.777 320.738 206.77V435.77C320.738 451.851 324.734 466.998 331.787 480.274C315.003 507.132 285.172 525 251.167 525H95C42.533 525 0 482.467 0 430V95C0 42.533 42.533 0 95 0H251.167Z");
}
/* Ảnh nổi nhỏ — chồng bên phải, lọt vào notch của ảnh lớn */
.dlhg-about-photo--small{
    left:328.16px;top:auto;bottom:0;width:253px;height:413px;z-index:2;box-shadow:0 12px 30px rgba(0,0,0,.18);
    clip-path:path("M162.999 0C212.705 0 253 40.2944 253 90V323C253 372.705 212.705 413 163 413H90C40.2944 413 0 372.706 0 323V90C0 40.2945 40.2936 0 89.999 0H162.999Z");
}
.dlhg-about-photo--empty{background-image:none!important;background-color:#cfe6db;background:linear-gradient(120deg,#e9f5ef,#cfe6db)}
.dlhg-about-badge{position:absolute;right:20px;top:0px;z-index:3;display:flex;align-items:center;gap:12px;padding:12px;background:#F6FFFC;border:1px solid #124838;border-radius:12px}
.dlhg-about-badge img{width:57px;height:67px;object-fit:contain}
.dlhg-about-badge-text{display:flex;flex-direction:column}
.dlhg-about-badge-num{font-weight:800;font-size:28px;line-height:1.4;color:#2D5A27}
.dlhg-about-badge-label{font-weight:600;font-size:18px;color:#2D5A27}
.dlhg-about-text{flex:1 1 auto;min-width:0}
.dlhg-about-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.dlhg-about-eyebrow span{font-weight:700;font-size:14px;color:#E65127;text-transform:uppercase}
.dlhg-about-eyebrow-line{display:block;width:48px;height:2px;background:#E65127}
.dlhg-about-heading{font-family:'Neue Einstellung','Mona Sans',sans-serif;line-height:1.5;color:#08291B;margin:0 0 8px}
.dlhg-about-heading-l1{font-size:32px;font-weight:500}
.dlhg-about-heading-l2{font-size:40px;font-weight:700;color:#124838}
.dlhg-about-desc{font-size:16px;line-height:1.5;color:#6B7280;margin:0 0 16px}
.dlhg-about-features{display:flex;flex-direction:column;gap:16px;margin-bottom:8px}
.dlhg-about-feature{display:flex;align-items:flex-start;gap:16px}
.dlhg-about-feature-icon{width:48px;height:48px;border-radius:50%;background:#F6FFFC;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dlhg-about-feature-icon img{width:24px;height:24px;object-fit:contain}
.dlhg-about-feature-text h3{font-weight:700;font-size:14px;color:#111827;margin:0 0 4px}
.dlhg-about-feature-text p{font-size:14px;line-height:1.5;color:#6B7280;margin:0}
.dlhg-about-cta{margin-top:16px}

/* =====================================================================
   TUYẾN PHỔ BIẾN (routes)
   ===================================================================== */
.dlhg-routes{background:#fff;padding:40px 0}
/* Width slide do Swiper breakpoints tự set (slidesPerView:1/2/3) — không ép width bằng CSS để tránh xung đột */
.dlhg-route-card{background:#fff;border:1px solid #E5E7EB;box-shadow:0 12px 35px rgba(0,0,0,.08);border-radius:24px;overflow:visible;height:100%}
.dlhg-route-img{position:relative;height:260px;border-radius:24px 24px 0 0;background-size:cover;background-position:center;background-color:#dbe7e1}
.dlhg-route-badge{position:absolute;right:24px;bottom:-40px;width:80px;height:80px;background:#124838;border:3px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 21px -4px rgba(0,0,0,.1),0 6px 9px -6px rgba(0,0,0,.1)}
.dlhg-route-badge img{width:48px;height:48px;object-fit:contain}
.dlhg-route-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 32px 32px}
.dlhg-route-location{width:52px;height:52px;border-radius:50%;background:rgba(230,81,0,.1);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.dlhg-route-title{font-weight:700;font-size:20px;color:#124838;margin:0 0 12px}
.dlhg-route-line{display:block;width:40px;height:2px;background:#E65100;margin:0 0 12px}
.dlhg-route-desc{font-size:14px;line-height:1.5;color:#666;margin:0 0 20px;min-height:42px}
.dlhg-route-btn{display:inline-flex;align-items:center;gap:8px;background:#113D21;color:#fff;text-decoration:none;border-radius:9999px;font-weight:700;font-size:18px;padding:10px 32px;transition:.25s}
.dlhg-route-btn:hover{background:#0b3019;color:#fff}

/* =====================================================================
   BANNER
   ===================================================================== */
.dlhg-banner{width:100%}
.dlhg-banner a,.dlhg-banner{display:block}
.dlhg-banner a{width:100%;padding-top:42.86%;background-size:cover;background-position:center}

/* =====================================================================
   BẢNG GIÁ
   ===================================================================== */
.dlhg-price{background:#fff;padding:40px 0 160px}
.dlhg-price-tabs{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.dlhg-price-tab{border:1px solid #052C1F;background:#fff;color:#052C1F;border-radius:9999px;font-weight:600;font-size:18px;padding:8px 40px;cursor:pointer;transition:.2s}
.dlhg-price-tab.active{background:#052C1F;color:#fff;padding:8.5px 40px 9.5px}
.dlhg-price-card{display:flex;flex-direction:column;height:100%;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.08);border-radius:16px;overflow:hidden}
.dlhg-price-img{padding:clamp(6px,3vw,12px)}
.dlhg-price-img span{display:block;width:100%;aspect-ratio:193/108;height:auto;border-radius:12px;background-size:cover;background-position:center;background-color:#dbe7e1}
.dlhg-price-body{padding:0 clamp(6px,3vw,12px) clamp(6px,3vw,12px);display:flex;flex-direction:column;gap:clamp(8px,3vw,16px);flex:1 1 auto}
.dlhg-price-titlewrap{display:flex;flex-direction:column;align-items:center;gap:4px}
.dlhg-price-title{font-weight:700;font-size:clamp(14px,4vw,24px);color:#052C1F;margin:0;text-align:center}
.dlhg-price-amount{font-weight:600;font-size:clamp(12px,3vw,16px);color:#E85E3B}
.dlhg-price-underline{width:48px;height:4px;background:#E85E3B;border-radius:999px;margin-top:4px}
.dlhg-price-list{display:flex;flex-direction:column;gap:clamp(6px,2.5vw,12px);font-size:clamp(11px,3vw,16px);color:#9CA3AF;font-weight:500}
.dlhg-price-list p,.dlhg-price-list li{margin:0;list-style:none;display:flex;align-items:center;gap:clamp(6px,2.5vw,12px)}
.dlhg-price-list p::before,.dlhg-price-list li::before{content:'';flex-shrink:0;width:clamp(16px,5vw,24px);height:clamp(16px,5vw,24px);border-radius:999px;background:#124838 no-repeat center/60% 60% url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M5 17h14M6 17l-1-6 2-5h10l2 5-1 6M7 20v-2M17 20v-2' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.dlhg-price-list ul{margin:0;padding:0}
.dlhg-price-foot{padding:0 clamp(10px,4vw,24px) clamp(10px,4vw,24px)}
.dlhg-price-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#124838;color:#fff;text-decoration:none;border-radius:8px;font-weight:700;font-size:clamp(13px,3.5vw,18px);padding:clamp(8px,3vw,12px) 0;transition:.25s}
.dlhg-price-btn:hover{background:#0d3b2e;color:#fff}

/* =====================================================================
   SỐ LIỆU + TIÊU CHÍ
   ===================================================================== */
.dlhg-stats-wrap{position:relative;background-size:cover;background-position:center;padding:0 0 60px}
.dlhg-stats{
    position:absolute;top:-105px;left:0;right:0;margin:0 auto;width:calc(100% - 30px);max-width:1200px;z-index:10;
    display:flex;justify-content:space-between;gap:80px;flex-wrap:wrap;padding:40px 60px;border-radius:12px;
    background:linear-gradient(15.26deg,rgba(17,61,33,.6) 10.71%,rgba(7,185,134,.6) 115.09%),radial-gradient(50% 50% at 50% 50%,rgba(0,82,54,.6) 0%,rgba(0,45,30,.6) 100%),url(../images/bg-khung-xanh.jpg);
    background-size:cover;background-position:center;
    border:1px solid #14532D80;
    box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
}
.dlhg-stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;flex:1 1 auto;min-width:180px;cursor:default;transition:transform .3s ease}
.dlhg-stat:hover{transform:translateY(-8px)}
.dlhg-stat-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(180deg,#06C40C 0%,#005610 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 21px -4px rgba(0,0,0,.1),0 6px 9px -6px rgba(0,0,0,.1);transition:transform .35s ease,box-shadow .35s ease}
.dlhg-stat:hover .dlhg-stat-icon{transform:scale(1.12) rotate(-8deg);box-shadow:0 18px 30px -6px rgba(0,0,0,.3),0 0 0 8px rgba(255,255,255,.12)}
.dlhg-stat-icon img{width:48px;height:48px;object-fit:contain}
.dlhg-stat-num{font-weight:700;font-size:48px;line-height:1.1;color:#fff;transition:color .3s ease}
.dlhg-stat:hover .dlhg-stat-num{color:#F59E0B}
.dlhg-stat-label{font-weight:600;font-size:20px;color:#D1D5DB}
.dlhg-criteria-block{padding-top:170px;padding-bottom:59px}
.dlhg-criteria-head{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px;padding:24px 0;text-align:center;background:radial-gradient(38.58% 38.58% at 50% 50%,#003D2B 0%,rgba(0,61,43,0) 100%)}
.dlhg-criteria-title{font-weight:700;font-size:36px;color:#fff;margin:0}
.dlhg-criteria-grid{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:nowrap}
.dlhg-criteria-card{width:278px;background:#fff;border-radius:12px;padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center}
/* Frame 2071857368 / 2071857370: lệch xuống 59px so với 2 card còn lại, tạo bố cục so le */
.dlhg-criteria-card--offset{margin-top:59px}
.dlhg-criteria-icon{width:80px;height:80px;border-radius:50%;background:#236A55;display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.dlhg-criteria-icon img{width:52px;height:52px;object-fit:contain}
.dlhg-criteria-name{font-weight:700;font-size:20px;color:#0D3B2E;margin:0 0 12px}
.dlhg-criteria-desc{font-size:16px;line-height:1.5;color:#6B7280;margin:0}

/* =====================================================================
   FAQ
   ===================================================================== */
.dlhg-faq{background:#fff;padding:40px 0}
.dlhg-faq-inner{display:flex;align-items:stretch;gap:48px}
.dlhg-faq-media{flex:0 0 542px;max-width:542px;min-height:508px;border-radius:12px;background-size:cover;background-position:center}
.dlhg-faq-media--empty{background-color:#dbe7e1}
.dlhg-faq-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:24px}
.dlhg-faq-eyebrow{display:flex;flex-direction:column;gap:8px}
.dlhg-faq-eyebrow span{font-weight:700;font-size:20px;color:#003D2B}
.dlhg-faq-eyebrow i{width:40px;height:2px;background:#D97706;display:block}
.dlhg-faq-list{display:flex;flex-direction:column;gap:24px;max-height:445px;overflow-y:auto;padding-right:6px}
.dlhg-faq-list::-webkit-scrollbar{width:0;display:none}
.dlhg-faq-list{scrollbar-width:none}
.dlhg-faq-item{background:#fff;border:1px solid #F3F4F6;box-shadow:0 4px 16px rgba(0,0,0,.08);border-radius:8px;padding:16px}
.dlhg-faq-q{display:flex;align-items:center;gap:16px;width:100%;background:none;border:0;cursor:pointer;text-align:left;padding:0}
.dlhg-faq-q-icon{width:27px;height:27px;flex-shrink:0;background:#124838;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700}
.dlhg-faq-q-text{flex:1 1 auto;font-weight:700;font-size:18px;color:#003D2B}
.dlhg-faq-q-arrow{flex-shrink:0;transition:.25s;transform:rotate(0deg)}
.dlhg-faq-item.active .dlhg-faq-q-arrow{transform:rotate(180deg)}
.dlhg-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.dlhg-faq-item.active .dlhg-faq-a{max-height:500px}
.dlhg-faq-a-inner{padding-top:16px;margin-top:16px;border-top:1px solid #E5E7EB;font-size:16px;line-height:1.5;color:#4B5563}

/* =====================================================================
   VIDEO
   ===================================================================== */
/* aspect-ratio (khớp tỉ lệ ảnh nguồn 1920x821) thay vì min-height cố định — nhờ vậy chiều cao co giãn
   theo chiều rộng màn hình ở MỌI kích thước >768px, không bị đứng yên 821px cho tới khi nhảy xuống 320px.
   min-height:320px ở tầng <767px (bên dưới) vẫn có tác dụng làm "sàn" tối thiểu trên điện thoại hẹp.
   width:100% bắt buộc phải khai báo rõ (không để auto) — nếu không, khi min-height:320px ở tầng
   <767px "thắng" so với chiều cao aspect-ratio tính ra (màn hẹp), Chrome sẽ tính ngược lại WIDTH từ
   chiều cao 320px đó theo tỉ lệ (320 × 1920/821 ≈ 748px), khiến section tràn ra ngoài html/body. */
.dlhg-video{width:100%;aspect-ratio:1920/821;min-height:0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}
.dlhg-video-play{display:inline-flex;filter:drop-shadow(0 8px 16px rgba(0,0,0,.24));transition:.25s}
.dlhg-video-play:hover{transform:scale(1.06)}

/* =====================================================================
   TIN TỨC
   ===================================================================== */
.dlhg-news{background:#fff;padding:40px 0}
.dlhg-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.dlhg-news-card{border:1px solid #F3F4F6;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.05);display:flex;flex-direction:column}
.dlhg-news-img{display:block;height:224px;background-size:cover;background-position:center;background-color:#dbe7e1}
.dlhg-news-body{padding:20px;display:flex;flex-direction:column;gap:12px}
.dlhg-news-meta{display:flex;align-items:center;gap:16px}
.dlhg-news-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:#6B7280}
.dlhg-news-title{margin:0;font-weight:700;font-size:18px;line-height:1.4}
.dlhg-news-title a{color:#003D29;text-decoration:none}
.dlhg-news-title a:hover{color:#E85E3B}
.dlhg-news-desc{font-size:14px;line-height:1.5;color:#4B5563;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dlhg-news-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:#113D21;color:#fff;text-decoration:none;border-radius:9999px;font-weight:700;font-size:16px;padding:10px 32px;margin-top:auto;transition:.25s}
.dlhg-news-btn:hover{background:#0b3019;color:#fff}

/* =====================================================================
   ĐỐI TÁC
   ===================================================================== */
.dlhg-partners{background:#fff;padding:40px 0}
/* Width slide do Swiper breakpoints tự set (slidesPerView:2/3/5) — item co theo đúng width slide, giữ tỉ lệ 224x116 */
.dlhg-partner-item{width:100%;height:auto;aspect-ratio:224 / 116;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #eee}
.dlhg-partner-item img{width:100%;height:100%;object-fit:contain}

/* =====================================================================
   FOOTER
   ===================================================================== */
.dlhg-footer{background:#124838;color:#fff;padding-top:40px}
.dlhg-footer-inner{display:flex;justify-content:space-between;row-gap:32px;flex-wrap:wrap;padding-bottom:40px}
.dlhg-footer-col{flex:0 1 auto;min-width:180px}
.dlhg-footer-brand{width:344px;max-width:100%}
.dlhg-footer-contact{width:260px;max-width:100%}
.dlhg-footer-policy{width:187px;max-width:100%}
.dlhg-footer-fanpage{width:220px;max-width:100%}
.dlhg-footer-logo{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.dlhg-footer-logo-box{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;padding:2px 8px;width:94px;height:91px}
.dlhg-footer-logo-box img{width:100%;height:100%;object-fit:contain}
.dlhg-footer-logo-text{display:flex;flex-direction:column;font-family:'Neue Einstellung','Mona Sans',sans-serif}
.dlhg-footer-logo-1{font-size:32px;font-weight:500;line-height:1.5}
.dlhg-footer-logo-2{font-size:40px;font-weight:700;line-height:1.5}
.dlhg-footer-desc{font-size:16px;line-height:1.5;margin:0 0 20px}
.dlhg-footer-map{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:8px;width:252px;max-width:100%;height:49px;background:#fff;color:#3C4142;text-decoration:none;font-weight:500;font-size:16px;padding:12px 0;border:1px solid #AA9F94;box-shadow:0 4px 15px rgba(0,0,0,.2);border-radius:99999px}
.dlhg-footer-title{position:relative;font-weight:600;font-size:20px;line-height:1.4;margin-bottom:20px;padding-bottom:20px}
.dlhg-footer-title i{position:absolute;left:0;bottom:0;width:55px;height:2px;background:#fff}
.dlhg-footer-contact-body{font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.dlhg-footer-contact-body p{margin:0;display:flex;align-items:flex-start;gap:16px}
.dlhg-footer-contact-body p::before{content:'';flex-shrink:0;margin-top:2px;width:16px;height:16px;background:#fff no-repeat center/16px 16px url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H9l-4 3v-3H6a2 2 0 0 1-2-2V6Z' stroke='%23124838' stroke-width='2'/></svg>");mask:none}
.dlhg-footer-social{display:flex;gap:8px}
.dlhg-footer-social a{width:41px;height:41px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dlhg-footer-social a img{width:20px;height:20px;object-fit:contain}
.dlhg-footer-policy-list{display:flex;flex-direction:column;gap:12px;max-height:150px;overflow-y:auto;scrollbar-width:none}
.dlhg-footer-policy-list::-webkit-scrollbar{width:0;display:none}
.dlhg-footer-policy-item{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:14px;font-weight:400;line-height:1.5;padding-bottom:12px;border-bottom:1px solid rgba(229,231,235,.5)}
.dlhg-footer-policy-item:last-child{padding-bottom:0;border-bottom:0}
.dlhg-footer-policy-item:hover{color:#F59E0B}
.dlhg-footer-fanpage-box{max-width:220px;background:#fff;border:1px solid #F3F4F6;box-shadow:0 4px 20px rgba(0,0,0,.08);border-radius:12px;overflow:hidden}
.dlhg-footer-bottom{background:#08291B;padding:12px 0;text-align:center;font-size:14px}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1024px){
    .dlhg-heading-title,.dlhg-criteria-title{font-size:28px}
    .dlhg-hero-title{font-size:34px}
    .dlhg-about-inner{gap:32px}
    .dlhg-about-media{width:45%;height:auto;aspect-ratio:590/525}
    .dlhg-about-photo--big{position:relative;left:0;top:0;width:100%;height:100%;clip-path:none;border-radius:16px}
    .dlhg-about-photo--small{display:none}
    .dlhg-about-heading{font-size:32px}
    .dlhg-criteria-grid{justify-content:center;flex-wrap:wrap;gap:24px}
    .dlhg-criteria-card{width:calc(50% - 12px)}
    .dlhg-criteria-card--offset{margin-top:0}
    .dlhg-news-grid{grid-template-columns:repeat(2,1fr)}
    .dlhg-faq-media{flex-basis:40%;min-height:auto}
    .dlhg-menu{gap:2px}
    .dlhg-menu-link{padding:8px;font-size:14px}
}
@media (max-width:767px){
    /* Layout 2 cột xếp dọc trên mobile — đổi hiệu ứng trái/phải thành từ dưới lên cho gọn gàng */
    [data-reveal="fade-left"],[data-reveal="fade-right"]{transform:translateY(32px)}
    .dlhg-menu{display:none}
    .dlhg-burger{display:flex}
    .dlhg-topbar-inner{justify-content:center;text-align:center}
    .dlhg-topbar-item{font-size:13px}
    .dlhg-header--home{position:relative;background:#08291B}
    .dlhg-hero{min-height:auto;margin-bottom:0;overflow:visible}
    .dlhg-hero-slide,.dlhg-hero-slides{position:relative}
    .dlhg-hero-slides{height:auto}
    .dlhg-hero-slide{min-height:360px;height:360px}
    /* top:20% + transform:none (không dùng top:50% căn giữa kèm translateY(-50%) như desktop) — vì
       mô tả dài ngắn tuỳ nội dung, căn giữa dễ khiến caption tràn xuống đáy hero và bị .dlhg-booking-wrap
       đè lên. top:20% + transform:none giữ caption ở gần mép trên, luôn có khoảng cách an toàn với
       booking-wrap bên dưới bất kể độ dài nội dung. */
    .dlhg-hero-caption{position:absolute;top:20%;transform:none}
    .dlhg-hero-title{font-size:24px}
    .dlhg-booking-wrap{position:static;bottom:auto;margin-top:16px;padding-bottom:24px}
    .dlhg-booking-form{grid-template-columns:1fr;padding:20px}
    .dlhg-booking-head{padding:18px 20px}
    .dlhg-booking-head-title{font-size:16px}
    .dlhg-field--btn{justify-content:stretch}
    .dlhg-booking-btn{width:100%}
    .dlhg-about-inner{flex-direction:column;align-items:stretch}
    .dlhg-about-media{width:100%}
    .dlhg-about-heading{font-size:28px}
    .dlhg-stats{padding:24px;gap:24px}
    .dlhg-stat-num{font-size:34px}
    .dlhg-criteria-card{width:100%}
    .dlhg-faq-inner{flex-direction:column}
    .dlhg-faq-media{flex-basis:auto;width:100%;height:240px;min-height:240px}
    .dlhg-news-grid{grid-template-columns:1fr}
    .dlhg-video{min-height:320px}
    .dlhg-video-play svg{width:80px;height:80px}
    .dlhg-footer-inner{flex-direction:column;gap:28px}
    .dlhg-heading-title{font-size:24px}
}
@media (max-width:599px){
    /* ===== Header: bỏ top-bar, toolbar sticky + nền đặc, thêm nút info ===== */
    .dlhg-topbar{display:none}
    .dlhg-header,.dlhg-header--home,.dlhg-header--inner{position:sticky;top:0;z-index:100;background:#124838}
    .dlhg-header--home .dlhg-mainnav{background:transparent}
    .dlhg-mainnav-inner{height:64px;gap:8px;padding-left:12px;padding-right:12px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0}
    .dlhg-logo img{width:150px;height:46px}
    .dlhg-navinfo-btn{display:inline-flex}

    /* ===== Bảng giá: tabs không wrap + lướt ngang khi vượt màn hình ===== */
    .dlhg-price-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    .dlhg-price-tabs::-webkit-scrollbar{display:none}
    .dlhg-price-tab{flex:0 0 auto;white-space:nowrap}

    .dlhg-stats-wrap{padding:24px 0}
    .dlhg-criteria-block{padding-top:24px}
}
@media (min-width:600px) and (max-width:1200px){
    /* ===== mmenu + top-bar: giống hệt <480px (sticky, ẩn top-bar, hamburger, nút info) ===== */
    .dlhg-topbar{display:none}
    .dlhg-header,.dlhg-header--home,.dlhg-header--inner{position:sticky;top:0;z-index:100;background:#124838}
    .dlhg-header--home .dlhg-mainnav{background:transparent}
    .dlhg-mainnav-inner{height:64px;gap:8px;padding-left:12px;padding-right:12px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0}
    .dlhg-logo img{width:150px;height:46px}
    .dlhg-navinfo-btn{display:inline-flex}
    .dlhg-menu{display:none}
    .dlhg-burger{display:flex}
}

/* =====================================================================
   SLIDER NAV ARROWS (routes, đối tác = Swiper thật; số liệu, tin tức = custom scroll)
   ===================================================================== */
.dlhg-slider-nav{--swiper-navigation-size:16px;--swiper-navigation-color:#124838;--swiper-theme-color:#124838;width:40px;height:40px;background:#fff;border-radius:50%;box-shadow:0 8px 20px rgba(0,0,0,.18);transition:.2s}
.dlhg-slider-nav:hover{background:#124838;--swiper-navigation-color:#fff;--swiper-theme-color:#fff}
.dlhg-slider-nav.swiper-button-disabled{opacity:.35}
.dlhg-scroll-nav{display:none;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:40px;height:40px;padding:0;background:#fff;border:0;border-radius:50%;box-shadow:0 8px 20px rgba(0,0,0,.18);color:#124838;cursor:pointer;transition:.2s}
.dlhg-scroll-nav:hover{background:#124838;color:#fff}
.dlhg-scroll-nav--prev{left:4px}
.dlhg-scroll-nav--next{right:4px}
.dlhg-scroll-nav[disabled]{opacity:.35;cursor:default;pointer-events:none}
.dlhg-scroll-wrap{position:relative}

/* ===== Slide: <600px = 1 item/slide, 600–1024px = +1 item/slide (tuyến đường/tin tức 2, đối tác 3)
   Riêng dlhg-stats: KHÔNG biến thành slide từ 600px trở lên — chỉ là slide (+ mũi tên) khi <600px ===== */
@media (max-width:1024px){
    /* Mũi tên tin tức vẫn cần ở cả 2 tầng (<600 và 600-1024) vì tin tức vẫn là slide ở cả 2 */
    .dlhg-scroll-wrap .dlhg-scroll-nav{display:flex}
}
@media (max-width:599px){
    /* Mũi tên số liệu chỉ hiện ở tầng <600px (tầng duy nhất dlhg-stats còn là slide) */
    .dlhg-stats-scrollbox{position:relative}
    .dlhg-stats-scrollbox .dlhg-scroll-nav{display:flex}
    .dlhg-stats{position:relative;top:auto;width:100%;max-width:100%;margin:0 0 24px;padding:20px 48px;gap:0;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
    .dlhg-stats::-webkit-scrollbar{display:none}
    .dlhg-stat{flex:0 0 100%;min-width:100%;scroll-snap-align:center}

    .dlhg-news-grid{display:flex;grid-template-columns:none;flex-wrap:nowrap;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
    .dlhg-news-grid::-webkit-scrollbar{display:none}
    .dlhg-news-card{flex:0 0 100%;min-width:100%;scroll-snap-align:center}
}
@media (min-width:600px) and (max-width:1024px){
    /* Số liệu: KHÔNG phải slide ở tầng này — lưới 2x2 đàng hoàng, không wrap lệch */
    .dlhg-stats{top:-400px;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,auto);gap:24px}
    .dlhg-stat{min-width:0;width:100%}
    /* dlhg-stats kéo lên -400px (nhiều hơn hẳn desktop -105px) — chừa thêm khoảng đệm dưới bảng giá
       để không đè lên nội dung card, thay vì tăng z-index (không giải quyết được việc che nội dung) */
    .dlhg-price{padding-bottom:480px}

    .dlhg-news-grid{display:flex;grid-template-columns:none;flex-wrap:nowrap;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
    .dlhg-news-grid::-webkit-scrollbar{display:none}
    .dlhg-news-card{flex:0 0 calc(50% - 10px);min-width:calc(50% - 10px);scroll-snap-align:center}
}

/* Chừa khoảng dọc để box-shadow của card (và hiệu ứng nhấc card khi hover) không bị .swiper (overflow:hidden) cắt mất */
.dlhg-routes-slider{padding-top:10px;padding-bottom:28px}
/* Bảng giá: tối đa 3 cột/hàng — 3 cột nếu đủ chỗ, 2 cột nếu chỉ đủ chỗ cho 2, 1 cột nếu hẹp hơn nữa
   (không tự tăng quá 3 dù màn hình rất rộng). Item thừa ngoài hàng đầu tiên bị apps.js ẩn đi và
   thay bằng nút "Xem tất cả" thay vì xuống hàng mới. */
.dlhg-price-grid{display:grid;grid-template-columns:1fr;align-items:stretch;gap:16px;padding:10px 0 28px}
@media (min-width:520px){
    .dlhg-price-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:820px){
    .dlhg-price-grid{grid-template-columns:repeat(3,1fr)}
}
.dlhg-price-grid .dlhg-price-slide{display:flex;width:auto;max-width:none;min-width:0}
.dlhg-price-grid .dlhg-price-slide>.dlhg-price-card{width:100%;min-width:0}

/* =====================================================================
   HIỆU ỨNG NÚT: đổ nền (fill sweep) — dùng màu theme
   Áp cho mọi nút frontend. Nền base giữ nguyên, khi hover: nền quét đầy từ trái.
   ===================================================================== */
.dlhg-btn,.dlhg-route-btn,.dlhg-price-btn,.dlhg-news-btn,.dlhg-booking-btn,
.dlhg-price-tab,.dlhg-footer-map,.btn-send.btn-primary,.contact-form .btn-primary,
.pagination li a,.pagination .page-link{
    position:relative;z-index:0;overflow:hidden;
}
/* Lớp đổ nền — nằm trên nền base, dưới chữ */
.dlhg-btn::after,.dlhg-route-btn::after,.dlhg-price-btn::after,.dlhg-news-btn::after,.dlhg-booking-btn::after,
.dlhg-price-tab::after,.dlhg-footer-map::after,.btn-send.btn-primary::after,.contact-form .btn-primary::after,
.pagination li a::after,.pagination .page-link::after{
    content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
    background:linear-gradient(90deg,#124838,#1F9254);
    transform:scaleX(0);transform-origin:left center;
    transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
.dlhg-btn:hover::after,.dlhg-route-btn:hover::after,.dlhg-price-btn:hover::after,.dlhg-news-btn:hover::after,.dlhg-booking-btn:hover::after,
.dlhg-price-tab:hover::after,.dlhg-footer-map:hover::after,.btn-send.btn-primary:hover::after,.contact-form .btn-primary:hover::after,
.pagination li a:hover::after,.pagination .page-link:hover::after{
    transform:scaleX(1);
}

/* =====================================================================
   .dlhg-stats-wrap — nền tối: hiệu ứng ô vuông trôi nổi (floating squares)
   ===================================================================== */
.dlhg-squares{position:absolute;inset:0;overflow:hidden;z-index:0;display:flex;justify-content:space-around;font-size:26px;pointer-events:none}
.dlhg-square{align-self:flex-end;width:1em;height:1em;border-radius:3px;transform:translateY(100%);background:rgba(255,255,255,.16);animation:dlhg-squares 9.5s linear infinite}
.dlhg-square:nth-child(2){height:1.5em;width:3em;animation-delay:1s;animation-duration:17s;filter:blur(5px)}
.dlhg-square:nth-child(3){height:2em;width:1em;animation-delay:1.5s;animation-duration:8s}
.dlhg-square:nth-child(4){height:1em;width:1.5em;animation-delay:.5s;filter:blur(3px);animation-duration:13s}
.dlhg-square:nth-child(5){height:1.25em;width:2em;animation-delay:4s;filter:blur(2px);animation-duration:11s}
.dlhg-square:nth-child(6){height:2.5em;width:2em;animation-delay:2s;filter:blur(1px);animation-duration:9s;background:rgba(31,146,84,.38)}
.dlhg-square:nth-child(7){height:5em;width:2em;filter:blur(2.5px);animation-duration:12s}
.dlhg-square:nth-child(8){height:1em;width:3em;animation-delay:5s;filter:blur(6px);animation-duration:18s}
.dlhg-square:nth-child(9){height:3em;width:2.4em;animation-delay:6s;filter:blur(.5px);animation-duration:12s;background:rgba(31,146,84,.30)}
.dlhg-square:nth-child(10){height:1.5em;width:2em;filter:blur(.5px);animation-duration:9s}
@keyframes dlhg-squares{
    from{transform:translateY(100%) rotate(-50deg)}
    to{transform:translateY(calc(-100vh - 100%)) rotate(20deg)}
}
/* Nội dung khối tiêu chí nổi trên các ô vuông */
.dlhg-criteria-block{position:relative;z-index:1}

@media (prefers-reduced-motion:reduce){
    .dlhg-square{animation:none;display:none}
    .dlhg-btn::after{transition:none}
}

/* =====================================================================
   LANGUAGE SWITCHER (topbar)
   ===================================================================== */
.dlhg-lang{display:flex;align-items:center;gap:6px;margin-left:8px}
.dlhg-lang-item{display:inline-flex;width:26px;height:18px;border-radius:3px;overflow:hidden;opacity:.55;transition:.2s;border:1px solid rgba(255,255,255,.25)}
.dlhg-lang-item img{width:100%;height:100%;object-fit:cover}
.dlhg-lang-item:hover{opacity:.9}
.dlhg-lang-item.active{opacity:1;border-color:#F59E0B}

/* =====================================================================
   INNER PAGES — green theme (news list/detail, static, contact, breadcrumbs, pagination)
   Áp lên các class có sẵn của template gốc để đồng bộ màu xanh #124838
   ===================================================================== */
/* Breadcrumbs */
.breadCrumbs{background:#F6FFFC;border-bottom:1px solid #E5E7EB;padding:12px 0}
.breadCrumbs ol{display:flex;flex-wrap:wrap;gap:4px;align-items:center;list-style:none;padding:0}
.breadCrumbs ol li a{color:#124838;text-decoration:none;font-weight:500}
.breadCrumbs ol li a:hover{color:#E85E3B}
.breadCrumbs ol li.active,.breadCrumbs ol li:last-child{color:#6B7280}

/* Page titles */
.title-detail{position:relative;margin:24px 0 20px}
.title-detail h1{font-size:28px;color:#052C1F;font-weight:700;line-height:1.35}
.title-detail h1.text-center{text-align:center}
.title-detail h1.text-center::after{content:'';display:block;width:60px;height:3px;background:#E85E3B;border-radius:999px;margin:12px auto 0}
.title-main span{color:#052C1F}
.title-main span::after{content:'';display:block;width:48px;height:2px;background:#E85E3B;margin:8px auto 0}

/* News listing cards */
.item-news{background:#fff;border:1px solid #F3F4F6;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.06);overflow:hidden;padding:0}
.item-news .card-image,.item-news>a{display:block}
.item-news .ds-news{width:100%;padding:16px}
.ds-news h3{font-size:16px;color:#052C1F;font-weight:600;text-transform:none}
.item-news:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(18,72,56,.14)}
.item-news:hover h3{color:#124838}
.desc-news,.ds-news .desc{color:#6B7280}

/* Pagination */
.pagination{display:flex;gap:8px;justify-content:center;margin:28px 0;flex-wrap:wrap;list-style:none;padding:0}
.pagination li a,.pagination li span,.pagination .page-link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border-radius:8px;border:1px solid #E5E7EB;color:#124838;background:#fff;text-decoration:none;transition:.2s}
.pagination li a:hover,.pagination .page-link:hover{border-color:#124838;background:#F6FFFC}
.pagination .active span,.pagination li.active a,.pagination .page-item.active .page-link,.pagination .active .page-link{background:#124838;border-color:#124838;color:#fff}

/* News detail */
.time-main{color:#6B7280;font-size:14px;margin-bottom:12px}
.time-main i{color:#124838;margin-right:4px}
.content-main{line-height:1.7;color:#374151}
.content-main a{color:#124838;text-decoration:underline}
.content-main a:hover{color:#E85E3B}
.news-right{background:#F6FFFC;border:1px solid #E5F0EA;border-radius:12px;padding:20px}
.news-right .title-main span{color:#052C1F}
.item-news-one .ds-news h3,.item-news-all .ds-news h3{color:#052C1F;font-weight:600}
.item-news-one a:hover h3,.item-news-all a:hover h3{color:#124838}
/* Mô tả ngắn dưới tiêu đề "Bài viết khác" — nhỏ gọn, clamp 2 dòng */
.item-news-all .ds-news .desc{margin:4px 0 0;font-size:13px;line-height:1.45;color:#6B7280;-webkit-line-clamp:2}
.share b{color:#052C1F}
.meta-toc .mucluc-dropdown-list_button{color:#124838}

/* Contact form */
.contact-form .form-control:focus{border-color:#124838;box-shadow:0 0 0 .2rem rgba(18,72,56,.15)}
.contact-form .form-floating>label{color:#6B7280}
.btn-send.btn-primary,.contact-form .btn-primary{background:#124838;border-color:#124838;color:#fff}
.btn-send.btn-primary:hover,.contact-form .btn-primary:hover{background:#0d3b2e;border-color:#0d3b2e}
.contact-text a{color:#124838}

/* Floating hotline widget (extensions) — recolor cam→xanh nếu admin bật */
.float-hotline-icon,.float-hotline-num,.hotline-btn-circle:hover,.hotline-dot{background:#124838!important}
.hotline-btn-circle,.float-hotline-icon,.float-hotline-num{border-color:#124838!important}
.hotline-pulse-ring{border-color:#124838!important}
@keyframes hotline-num-blink{0%,100%{color:#fff}33%{color:#F59E0B}66%{color:rgba(255,255,255,.18)}}

@media (max-width:767px){
    .news-right{width:100%;position:static;margin-top:24px}
    .flex-news-detail{flex-direction:column}
    .title-detail h1{font-size:22px}
}
