body.cms-diem-den .vbp-choice-page { max-width:1250px; margin:18px auto 70px; color:#173238; }
body.cms-diem-den .vbp-choice-hero { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; padding:30px clamp(24px,4vw,52px); border-radius:20px; background:#112e34; color:#fff; }
body.cms-diem-den .vbp-choice-hero-copy { min-width:0; }
body.cms-diem-den .vbp-choice-map { position:relative; min-width:0; border-radius:14px; background:#fff; overflow:hidden; }
body.cms-diem-den .vbp-map-wheel-toggle { position:absolute; z-index:2; top:140px; left:10px; padding:6px 8px; border:1px solid #9cb3b0; border-radius:6px; background:#fff; color:#173238; font-size:12px; font-weight:700; line-height:1.2; cursor:pointer; }
body.cms-diem-den .vbp-map-wheel-toggle[aria-pressed="true"] { border-color:#112e34; background:#112e34; color:#fff; }
body.cms-diem-den .vbp-map-wheel-toggle:focus-visible { outline:3px solid #a66810; outline-offset:2px; }
body.cms-diem-den .vbp-choice-map-hint { display:none; position:absolute; bottom:12px; left:50%; transform:translateX(-50%); padding:7px 12px; border-radius:20px; background:rgba(17,46,52,.88); color:#fff; font-size:11px; line-height:1.3; white-space:nowrap; pointer-events:none; }
@media (hover:hover) and (pointer:fine) { body.cms-diem-den .vbp-choice-map:hover .vbp-choice-map-hint { display:block; } }
body.cms-diem-den #map_vietnam { width:100%; height:600px; transform-origin:top left; }
body.cms-diem-den .vbp-choice-map-area { min-width:0; }
body.cms-diem-den .vbp-map-detail[hidden] { display:none; }
body.cms-diem-den .vbp-map-detail { position:relative; margin-top:14px; padding:20px 56px 22px 23px; border-radius:12px; background:#fff; color:#173238; }
body.cms-diem-den .vbp-map-detail-close { position:absolute; top:10px; right:13px; border:0; background:transparent; color:#173238; font-size:27px; cursor:pointer; }
body.cms-diem-den .vbp-map-detail-kicker { color:#986017; font-size:11px; font-weight:800; letter-spacing:1px; }
body.cms-diem-den .vbp-map-detail h2 { margin:5px 0; color:#173238; font-size:27px; text-align:left; }
body.cms-diem-den .vbp-choice-hero .vbp-map-detail p { max-width:none; margin:5px 0; color:#425a5e; font-size:14px; line-height:1.55; }
body.cms-diem-den .vbp-map-detail-province { font-weight:700; }
body.cms-diem-den .vbp-map-detail-children, body.cms-diem-den .vbp-map-detail-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin-top:12px; font-size:13px; }
body.cms-diem-den .vbp-map-detail-children a { color:#25636a; text-decoration:underline; }
body.cms-diem-den .vbp-map-detail-actions a { display:inline-block; padding:9px 13px; border-radius:6px; background:#112e34; color:#fff; font-weight:700; text-decoration:none; }
body.cms-diem-den .vbp-map-detail-actions a + a { background:#f2f6f2; color:#173238; }
body.cms-diem-den .vbp-map-detail a:focus-visible, body.cms-diem-den .vbp-map-detail button:focus-visible { outline:3px solid #a66810; outline-offset:2px; }
body.cms-diem-den .vbp-choice-kicker { display:block; color:#d49128; font-size:12px; font-weight:800; letter-spacing:2px; }
body.cms-diem-den .vbp-choice-hero .vbp-choice-kicker { color:#ffde00; }
body.cms-diem-den .vbp-choice-hero h1 { max-width:760px; margin:12px 0 18px; color:#fff; font-size:clamp(30px,3.5vw,48px); line-height:1.16; font-weight:750; }
body.cms-diem-den .vbp-choice-hero p { max-width:750px; margin:0 0 24px; color:#d1e0e0; font-size:16px; line-height:1.7; }
body.cms-diem-den .vbp-choice-jump { display:inline-flex; align-items:center; gap:12px; padding:12px 19px; border-radius:6px; background:#ffde00; color:#182c30; font-weight:800; text-decoration:none; }
body.cms-diem-den .vbp-choice-jump:hover, body.cms-diem-den .vbp-choice-jump:focus-visible { background:#fff; color:#182c30; }
body.cms-diem-den .vbp-choice-secondary { display:inline-block; margin:10px 0 0 18px; color:#fff; text-decoration:underline; text-underline-offset:4px; }
body.cms-diem-den .vbp-choice-guided, body.cms-diem-den .vbp-choice-directory { padding-top:58px; scroll-margin-top:90px; }
body.cms-diem-den .vbp-choice-heading { margin-bottom:23px; }
body.cms-diem-den .vbp-choice-heading h2 { margin:8px 0 9px; color:#173238; font-size:clamp(26px,2.6vw,34px); line-height:1.25; text-align:left; font-weight:750; }
body.cms-diem-den .vbp-choice-heading p { max-width:740px; margin:0; color:#586a6d; font-size:15px; line-height:1.6; }
body.cms-diem-den .vbp-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.cms-diem-den .vbp-choice-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #e4e9e7; border-radius:13px; background:#fff; box-shadow:0 8px 24px rgba(18,47,52,.06); }
body.cms-diem-den .vbp-choice-card-image { display:block; overflow:hidden; height:170px; }
body.cms-diem-den .vbp-choice-card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s; }
body.cms-diem-den .vbp-choice-card-image:hover img { transform:scale(1.04); }
body.cms-diem-den .vbp-choice-card-body { display:flex; flex:1; flex-direction:column; padding:19px 21px 21px; }
body.cms-diem-den .vbp-choice-type { color:#986017; font-size:11px; letter-spacing:1px; text-transform:uppercase; font-weight:800; }
body.cms-diem-den .vbp-choice-card h3 { margin:5px 0 10px; color:#173238; font-size:23px; line-height:1.25; }
body.cms-diem-den .vbp-choice-card p { margin:0 0 9px; color:#495f62; font-size:14px; line-height:1.55; }
body.cms-diem-den .vbp-choice-card .vbp-choice-difference { padding-top:10px; border-top:1px solid #e6eae9; color:#52676a; }
body.cms-diem-den .vbp-choice-card-body > a { align-self:flex-start; margin-top:auto; padding-top:10px; color:#a14c19; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
body.cms-diem-den .vbp-choice-area { margin:0 0 23px; }
body.cms-diem-den .vbp-choice-area h3 { margin:0 0 12px; color:#173238; font-size:19px; }
body.cms-diem-den .vbp-choice-area ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:9px; margin:0; padding:0; }
body.cms-diem-den .vbp-choice-area li { margin:0; list-style:none; }
body.cms-diem-den .vbp-choice-area a { display:flex; align-items:center; justify-content:space-between; gap:8px; height:100%; padding:11px 13px; border:1px solid #e1e8e5; border-radius:6px; background:#f6f9f7; color:#173238; line-height:1.35; text-decoration:none; }
body.cms-diem-den .vbp-choice-area a:hover, body.cms-diem-den .vbp-choice-area a:focus-visible { border-color:#a48a33; background:#fff9de; }
body.cms-diem-den .vbp-choice-area small { flex:none; color:#63787b; font-size:11px; }
body.cms-diem-den .vbp-choice-area li { border:1px solid #e1e8e5; border-radius:7px; background:#f6f9f7; overflow:hidden; }
body.cms-diem-den .vbp-choice-area li > a { height:auto; border:0; border-radius:0; }
body.cms-diem-den .vbp-choice-area li > a.vbp-choice-province-link { display:block; padding:0 0 12px !important; background:#fff; color:#173238; text-decoration:none; }
body.cms-diem-den .vbp-choice-province-visual { position:relative; display:flex; align-items:flex-end; min-height:132px; padding:14px; overflow:hidden; background:radial-gradient(circle at 82% 20%,rgba(255,222,0,.35),transparent 34%),linear-gradient(135deg,#264c52,#113137); color:#fff; }
body.cms-diem-den .vbp-choice-province-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
body.cms-diem-den .vbp-choice-province-visual.has-image:after { position:absolute; inset:0; content:""; background:linear-gradient(to top,rgba(8,30,33,.7),transparent 65%); }
body.cms-diem-den .vbp-choice-province-visual > span { position:relative; z-index:1; color:#fff; font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
body.cms-diem-den .vbp-choice-province-summary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 14px 1px; color:#173238; font-size:18px; line-height:1.25; }
body.cms-diem-den .vbp-choice-province-summary strong { font-weight:750; }
body.cms-diem-den .vbp-choice-area li > a.vbp-choice-province-link > small { display:block; padding:2px 14px 0; color:#63787b; font-size:11px; }
body.cms-diem-den .vbp-choice-area li > a.vbp-choice-child-link { padding:6px 13px 6px 21px; background:#fff; font-size:13px; }
body.cms-diem-den .vbp-choice-area li > a.vbp-choice-child-link:hover { background:#fff9de; }
body.cms-diem-den .vbp-choice-area li > a.vbp-choice-more-link { padding:8px 13px; background:#fff; color:#a14c19; font-size:12px; font-weight:750; }
@media (max-width:1100px) { body.cms-diem-den .vbp-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } body.cms-diem-den .vbp-choice-area ul { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:600px) { body.cms-diem-den .vbp-choice-page { margin:12px auto 50px; } body.cms-diem-den .vbp-choice-hero { gap:22px; padding:30px 12px; border-radius:14px; } body.cms-diem-den .vbp-choice-hero-copy { padding:0 8px; } body.cms-diem-den .vbp-choice-hero p { font-size:14px; } body.cms-diem-den .vbp-choice-secondary { display:block; margin:17px 0 0; } body.cms-diem-den .vbp-choice-guided, body.cms-diem-den .vbp-choice-directory { padding-top:42px; } body.cms-diem-den .vbp-choice-grid { grid-template-columns:1fr; gap:15px; } body.cms-diem-den .vbp-choice-card-image { height:170px; } body.cms-diem-den .vbp-choice-area ul { grid-template-columns:1fr; } body.cms-diem-den .vbp-choice-area a { display:block; } body.cms-diem-den .vbp-choice-area small { display:block; padding-top:3px; } }

.vbp-province-page { max-width:1250px; margin:24px auto 75px; color:#173238; }
.vbp-province-back { margin:0 0 23px; color:#627579; font-size:13px; }
.vbp-province-back a { color:#496169; text-decoration:underline; }
.vbp-province-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); gap:clamp(28px,5vw,70px); min-height:360px; padding:clamp(32px,4vw,56px) clamp(24px,5vw,70px); overflow:hidden; border-radius:19px; background:radial-gradient(ellipse at 86% 12%,rgba(245,210,82,.16),transparent 40%),linear-gradient(135deg,#153b3d,#102a32 75%); color:#fff; }
.vbp-province-hero.has-cover::before { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(9,35,43,.9),rgba(9,35,43,.74) 54%,rgba(9,35,43,.55)); content:""; }
.vbp-province-hero-cover { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; }
.vbp-province-hero-main { position:relative; z-index:2; align-self:center; }
.vbp-province-hero .vbp-choice-kicker { color:#ffde00; }
.vbp-province-hero h1 { margin:10px 0 15px; color:#fff; font-size:clamp(42px,5vw,68px); font-weight:750; line-height:1.08; letter-spacing:-1px; }
.vbp-province-hero p { max-width:790px; margin:0; color:#d2e1e1; font-size:16px; line-height:1.7; }
.vbp-province-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 20px; margin-top:26px; }
.vbp-province-actions a { color:#ffde00; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.vbp-province-actions a:first-child { display:inline-flex; align-items:center; gap:10px; padding:12px 17px; border-radius:6px; background:#ffde00; color:#173238; text-decoration:none; }
.vbp-province-actions a:first-child:hover { background:#fff; }
.vbp-province-hero-aside { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; align-self:stretch; padding:28px; border:1px solid rgba(255,255,255,.27); border-radius:12px; background:rgba(9,35,43,.36); }
.vbp-province-aside-label { color:#ffde00; font-size:11px; font-weight:800; letter-spacing:1.7px; }
.vbp-province-hero-aside strong { margin:9px 0 0; color:#fff; font-size:68px; font-weight:750; line-height:1; }
.vbp-province-hero-aside strong span { color:#c9d9d6; font-size:19px; font-weight:500; }
.vbp-province-hero-aside > span:not(.vbp-province-aside-label) { max-width:200px; color:#d3e5e4; font-size:14px; line-height:1.5; }
.vbp-province-hero-aside a { margin-top:26px; color:#fff; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.vbp-province-overview { margin-top:29px; padding:28px 32px; border:1px solid #dfeae6; border-radius:12px; background:#f5f9f7; }
.vbp-province-overview h2 { margin:7px 0 11px; color:#173238; font-size:clamp(23px,2.2vw,29px); text-align:left; }
.vbp-province-overview p { max-width:920px; margin:0 0 12px; color:#314d51; font-size:15px; line-height:1.7; }
.vbp-province-overview small { color:#5f7174; font-size:11px; line-height:1.5; }
.vbp-province-overview small a { color:#345b60; text-decoration:underline; }
.vbp-province-section { padding-top:62px; scroll-margin-top:80px; }
.vbp-province-section h2 { margin:8px 0 9px; color:#173238; font-size:clamp(26px,2.6vw,34px); text-align:left; }
.vbp-province-section > p { max-width:790px; margin:0 0 23px; color:#5a6d70; font-size:14px; line-height:1.6; }
.vbp-province-section h3 { margin:20px 0 11px; color:#173238; font-size:18px; }
.vbp-province-places { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; padding:0; margin:0; }
.vbp-province-places li, .vbp-province-articles li { margin:0; list-style:none; }
.vbp-province-places a { display:flex; flex-direction:column; height:100%; overflow:hidden; border:1px solid #dce8e5; border-radius:11px; background:#fff; text-decoration:none; transition:transform .15s,box-shadow .15s; }
.vbp-province-places a:hover, .vbp-province-places a:focus-visible { border-color:#bd9b3f; }
.vbp-province-places a:hover { transform:translateY(-2px); box-shadow:0 10px 20px rgba(17,46,52,.09); }
.vbp-province-place-visual { position:relative; display:block; height:160px; overflow:hidden; background:radial-gradient(circle at 73% 30%,#f0d98d 0 9%,transparent 10%),linear-gradient(155deg,transparent 53%,#8baea4 54% 72%,transparent 73%),linear-gradient(25deg,#5e877e 0 42%,transparent 43%),linear-gradient(130deg,#dbece5,#a8c8bf); }
.vbp-province-place-visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.vbp-province-places a:hover .vbp-province-place-visual img { transform:scale(1.04); }
.vbp-province-place-body { display:flex; flex:1; flex-direction:column; gap:7px; padding:17px 19px 18px; }
.vbp-province-places strong { color:#173238; font-size:24px; line-height:1.25; }
.vbp-province-places .vbp-province-place-type { color:#96701b; font-size:10px; font-weight:800; letter-spacing:1.5px; }
.vbp-province-places .vbp-province-place-meta { margin-top:auto; padding-top:8px; color:#65797b; font-size:12px; }
.vbp-province-articles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:0; margin:0; }
.vbp-province-articles a { display:flex; align-items:center; gap:15px; height:100%; padding:18px; border:1px solid #dfeae6; border-radius:8px; background:#fff; color:#173238; font-size:15px; font-weight:650; line-height:1.5; text-decoration:none; }
.vbp-province-articles a:hover, .vbp-province-articles a:focus-visible { background:#fff8dd; text-decoration:underline; }
.vbp-province-article-number { align-self:flex-start; color:#ab7720; font-size:13px; font-weight:800; }
.vbp-province-article-arrow { flex:none; margin-left:auto; color:#a14c19; font-size:19px; }
.vbp-province-article-image { display:block; flex:0 0 112px; width:112px; aspect-ratio:16/9; overflow:hidden; border-radius:8px; background:#f5f5f7; }
.vbp-province-article-image img { display:block; width:100%; height:100%; object-fit:cover; }
.vbp-province-article-title { flex:1; min-width:0; overflow-wrap:anywhere; }
@media (max-width:479px) { .vbp-province-articles a { gap:10px; padding:13px; font-size:14px; } .vbp-province-article-image { flex-basis:88px; width:88px; } }
@media (max-width:991px) { .vbp-province-hero { grid-template-columns:minmax(0,1fr) minmax(210px,.6fr); gap:25px; } }
@media (max-width:767px) { .vbp-province-page { margin:15px auto 55px; } .vbp-province-hero { grid-template-columns:1fr; min-height:0; gap:25px; padding:32px 22px; } .vbp-province-hero h1 { font-size:42px; } .vbp-province-hero p { font-size:14px; } .vbp-province-hero-aside { display:none; } .vbp-province-overview { padding:22px 20px; } .vbp-province-section { padding-top:43px; } .vbp-province-places, .vbp-province-articles { grid-template-columns:1fr; } }
@media (max-width:767px) { .vbp-province-hero.has-cover .vbp-province-hero-aside { display:flex; min-height:190px; } }
body.cms-diem-den .vbp-choice-page,.vbp-province-page { max-width:1120px; color:#1d1d1f; font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif; }
body.cms-diem-den .vbp-choice-hero { background:#172033; }
body.cms-diem-den .vbp-choice-hero .vbp-choice-kicker,.vbp-province-hero .vbp-choice-kicker,.vbp-province-aside-label { color:#ffd1bd; }
body.cms-diem-den .vbp-choice-jump,.vbp-province-actions a:first-child { border-radius:10px; background:#c83b12; color:#fff; }
body.cms-diem-den .vbp-choice-jump:hover,body.cms-diem-den .vbp-choice-jump:focus-visible,.vbp-province-actions a:first-child:hover { background:#a82f0d; color:#fff; }
body.cms-diem-den .vbp-choice-kicker,body.cms-diem-den .vbp-choice-type,.vbp-province-places .vbp-province-place-type,.vbp-province-article-number { color:#c83b12; }
body.cms-diem-den .vbp-choice-heading h2,body.cms-diem-den .vbp-choice-card h3,body.cms-diem-den .vbp-choice-area h3,body.cms-diem-den .vbp-choice-province-summary,.vbp-province-overview h2,.vbp-province-section h2,.vbp-province-section h3,.vbp-province-places strong { color:#1d1d1f; }
body.cms-diem-den .vbp-choice-heading p,body.cms-diem-den .vbp-choice-card p,body.cms-diem-den .vbp-choice-area small,.vbp-province-section>p,.vbp-province-places .vbp-province-place-meta { color:#6e6e73; }
body.cms-diem-den .vbp-choice-card,body.cms-diem-den .vbp-choice-area li,.vbp-province-places a,.vbp-province-articles a { border-color:#e5e5e7; border-radius:17px; box-shadow:0 1px 2px rgba(0,0,0,.025); }
body.cms-diem-den .vbp-choice-card:hover,.vbp-province-places a:hover { border-color:#d2d2d7; box-shadow:0 10px 28px rgba(0,0,0,.06); }
body.cms-diem-den .vbp-choice-area li { background:#fff; }
body.cms-diem-den .vbp-choice-area a:hover,body.cms-diem-den .vbp-choice-area a:focus-visible { border-color:#c83b12; background:#fff7ed; }
body.cms-diem-den .vbp-choice-card-body>a,body.cms-diem-den .vbp-choice-more-link,.vbp-province-article-arrow,.vbp-province-back a { color:#c83b12; }
body.cms-diem-den .vbp-choice-area li>a.vbp-choice-province-link,body.cms-diem-den .vbp-choice-area li>a.vbp-choice-child-link { color:#1d1d1f; }
body.cms-diem-den .vbp-choice-area li>a.vbp-choice-child-link:hover,.vbp-province-articles a:hover,.vbp-province-articles a:focus-visible { background:#fff7ed; }
body.cms-diem-den .vbp-choice-province-visual { background:radial-gradient(circle at 82% 20%,rgba(255,209,189,.3),transparent 34%),linear-gradient(135deg,#293246,#172033); }
body.cms-diem-den .vbp-map-detail { color:#1d1d1f; }
body.cms-diem-den .vbp-map-detail h2,body.cms-diem-den .vbp-map-detail-close { color:#1d1d1f; }
body.cms-diem-den .vbp-map-detail-children a { color:#c83b12; }
body.cms-diem-den .vbp-map-detail-actions a { border-radius:10px; background:#c83b12; }
body.cms-diem-den .vbp-map-detail-actions a+a { background:#f5f5f7; color:#1d1d1f; }
.vbp-province-hero { background:linear-gradient(135deg,#172033,#111827 75%); }
.vbp-province-hero.has-cover::before { background:linear-gradient(90deg,rgba(17,24,39,.9),rgba(17,24,39,.72) 54%,rgba(17,24,39,.52)); }
.vbp-province-hero-aside { background:rgba(17,24,39,.45); }
.vbp-province-actions a { color:#ffd1bd; }
.vbp-province-overview { border-color:#e5e5e7; border-radius:17px; background:#f5f5f7; }
.vbp-province-overview p { color:#515154; }
.vbp-province-articles a { color:#1d1d1f; }
