/* =====================================================================
   OnMeeting – khung trang: header, banner breadcrumb, footer
   ===================================================================== */

/* ---------- Vỏ header gốc của Flatsome: trong suốt, không chiếm chỗ ---------- */
body.om-theme #header.header,
body.om-theme #header .header-wrapper {
	position: static; height: auto; min-height: 0; background: none; border: 0; box-shadow: none; padding: 0;
}
body.om-theme #header .header-bg-container { display: none; }

/* ---------- Logo ---------- */
.om-logo { display: inline-flex; align-items: center; text-decoration: none; line-height: 0; }
.om-logo-img { display: block; width: auto; max-width: 100%; }
.om-logo-light { display: none; }
html[data-om-theme="light"] .om-logo-dark { display: none; }
html[data-om-theme="light"] .om-logo-light { display: block; }

/* ---------- Header ---------- */
.om-header { position: relative; z-index: 100; width: 100%; }
.om-header--overlay { position: absolute; top: 0; left: 0; right: 0; }
.om-header--solid { padding-bottom: 14px; }

.om-topbar { padding-top: 14px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: center; font-size: 13px; }
.om-topbar-info { display: flex; flex-wrap: wrap; gap: 8px 24px; }
body.om-theme .om-topbar-item { display: flex; gap: 8px; align-items: center; color: var(--om-ink); text-decoration: none; }
body.om-theme .om-topbar-item:hover { color: var(--om-link-hover); }
.om-topbar-lab { color: var(--om-ink-3); }
.om-topbar-item strong { font-weight: 600; }

/* Nút chuyển ngôn ngữ (GTranslate [gt-link]) */
.om-lang { display: flex; gap: 4px; padding: 4px; border-radius: var(--om-pill); background: var(--om-glass-3); border: 1px solid var(--om-line-2); box-shadow: 0 0 0 1px var(--om-edge); -webkit-backdrop-filter: blur(var(--om-blur)); backdrop-filter: blur(var(--om-blur)); font-size: 13px; }
body.om-theme .om-lang a { display: flex; gap: 6px; align-items: center; padding: 4px 12px 4px 6px; border-radius: var(--om-pill); color: var(--om-ink); text-decoration: none; line-height: 1.3; transition: background-color .18s ease, color .18s ease; }
body.om-theme .om-lang a:hover { background: var(--om-tile-hover); color: var(--om-ink); }
body.om-theme .om-lang a.gt-current-lang,
body.om-theme .om-lang a.gt-current-lang:hover { background: var(--om-active-bg); color: var(--om-active-ink); font-weight: 600; }
.om-lang img { width: 20px; height: 14px; object-fit: cover; border-radius: 3px; display: block; }

/* Thanh nav kính */
.om-navwrap { position: relative; padding-top: 14px; }
.om-nav { border-radius: var(--om-pill); height: 75px; padding: 0 15px 0 24px; display: flex; flex-wrap: nowrap; gap: 12px 24px; align-items: center; justify-content: space-between; -webkit-backdrop-filter: blur(var(--om-blur)) saturate(160%); backdrop-filter: blur(var(--om-blur)) saturate(160%); }
.om-nav-right { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.om-menu { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; font-size: 15px; font-weight: 500; }

body.om-theme .om-nav-link { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 10px 16px; border-radius: var(--om-pill); color: var(--om-ink); text-decoration: none; cursor: pointer; transition: background-color .18s ease, color .18s ease; }
body.om-theme .om-nav-link:hover { background: var(--om-tile-hover); color: var(--om-ink); }
body.om-theme .om-nav-link.is-active,
body.om-theme .om-nav-link.is-active:hover,
body.om-theme .om-dd.is-active > .om-nav-link { background: var(--om-active-bg); color: var(--om-active-ink); font-weight: 600; }
.om-nav-cta { margin-left: 6px; }

/* Thả xuống (details) */
.om-dd { position: relative; }
.om-dd-chev { transition: transform .18s ease; }
.om-dd[open] .om-dd-chev { transform: rotate(180deg); }
.om-dd-panel { position: absolute; top: calc(100% + 10px); right: 0; min-width: 250px; border-radius: 20px; padding: 8px; display: flex; flex-direction: column; gap: 2px; z-index: 30; background: var(--om-menu-bg); border: 1px solid var(--om-line-1); -webkit-backdrop-filter: blur(var(--om-blur)) saturate(160%); backdrop-filter: blur(var(--om-blur)) saturate(160%); box-shadow: 0 0 0 1px var(--om-edge), var(--om-shadow-pop); }
body.om-theme .om-dd-link { padding: 12px 14px; border-radius: 12px; color: var(--om-ink); text-decoration: none; font-weight: 500; transition: background-color .18s ease; }
body.om-theme .om-dd-link:hover { background: var(--om-tile-hover); color: var(--om-ink); }
body.om-theme .om-dd-link.is-active { font-weight: 700; color: var(--om-accent-text); }

/* Reset kiểu <button> của Flatsome (margin-right/bottom 1em, min-height, uppercase…) cho các nút của theme */
body.om-theme .om-nav button.om-theme-toggle,
body.om-theme .om-nav button.om-burger { margin: 0 !important; padding: 0 !important; min-height: 0 !important; line-height: 1 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none; }
body.om-theme .om-nav-right { gap: 8px; }

/* Nút sáng / tối */
.om-theme-toggle { flex: none; width: 44px; height: 44px; padding: 0; margin: 0; border-radius: 50%; border: 1px solid var(--om-line-1); background: var(--om-glass-3); display: flex; align-items: center; justify-content: center; color: var(--om-ink); cursor: pointer; transition: transform .25s ease, background-color .18s ease; }
.om-theme-toggle:hover { background: var(--om-tile-hover); }
.om-theme-toggle:active { transform: rotate(180deg) scale(.94); }
html[data-om-theme="light"] .om-theme-toggle .om-icon { transform: scaleX(-1); }

/* Burger (mobile) */
.om-burger { display: none; width: 44px; height: 44px; padding: 0; margin: 0; border-radius: 50%; border: 1px solid var(--om-line-1); background: var(--om-glass-3); color: var(--om-ink); cursor: pointer; align-items: center; justify-content: center; }

/* Sticky: thanh nav bám đầu trang khi cuộn */
.om-header.is-sticky.is-stuck .om-navwrap { position: fixed; top: 0; left: 0; right: 0; margin: 0 auto; padding-top: 10px; z-index: 101; animation: om-drop .22s ease both; }
body.admin-bar .om-header.is-sticky.is-stuck .om-navwrap { top: 32px; }
.om-header.is-stuck .om-nav { background: var(--om-menu-strong); -webkit-backdrop-filter: blur(calc(var(--om-blur) + 8px)) saturate(180%); backdrop-filter: blur(calc(var(--om-blur) + 8px)) saturate(180%); }
@keyframes om-drop { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
@media (max-width: 782px) { body.admin-bar .om-header.is-sticky.is-stuck .om-navwrap { top: 46px; } }



/* ---------- Side menu (tablet + mobile ≤1023px) ---------- */
.om-drawer { display: none; }
html.om-lock { overflow: hidden; }

@media (max-width: 1023px) {
	/* Thanh trên cùng + menu ngang + nút sáng/tối chuyển vào side menu → header gọn */
	.om-topbar { display: none; }
	.om-menu, .om-nav-right .om-theme-toggle { display: none; }
	.om-nav { height: 64px; min-height: 0; padding: 0 10px 0 18px; gap: 12px; }
	.om-navwrap { padding-top: 12px; }
	.om-burger { display: inline-flex; }
	.om-logo-img { max-height: 36px; }

	.om-drawer { display: block; position: fixed; inset: 0; z-index: 99990; visibility: hidden; pointer-events: none; }
	.om-drawer.is-open { visibility: visible; pointer-events: auto; }
	.om-drawer-bg { position: absolute; inset: 0; background: rgba(5, 8, 16, .55); opacity: 0; transition: opacity .28s ease; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
	html[data-om-theme="light"] .om-drawer-bg { background: rgba(20, 30, 60, .35); }
	.om-drawer.is-open .om-drawer-bg { opacity: 1; }
	.om-drawer-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 380px); display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 18px; overflow-y: auto; overscroll-behavior: contain; background: var(--om-menu-strong); border-left: 1px solid var(--om-line-1); box-shadow: -30px 0 60px -20px rgba(0, 0, 0, .55); transform: translateX(104%); transition: transform .3s cubic-bezier(.22, .8, .3, 1); -webkit-backdrop-filter: blur(var(--om-blur)) saturate(160%); backdrop-filter: blur(var(--om-blur)) saturate(160%); outline: 0; }
	.om-drawer.is-open .om-drawer-panel { transform: none; }
	body.admin-bar .om-drawer-panel { top: 46px; }

	.om-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 2px 0 10px; border-bottom: 1px solid var(--om-divider); margin-bottom: 6px; }
	body.om-theme button.om-drawer-close { flex: none; width: 44px; height: 44px; padding: 0 !important; margin: 0 !important; min-height: 0 !important; border-radius: 50%; border: 1px solid var(--om-line-1); background: var(--om-glass-3); color: var(--om-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; line-height: 1 !important; }

	.om-drawer-nav { display: flex; flex-direction: column; gap: 2px; }
	body.om-theme .om-drawer-nav .om-nav-link { min-height: 50px; padding: 12px 16px; font-size: 16px; font-weight: 600; justify-content: space-between; border-radius: var(--om-r-md); }
	.om-drawer-nav .om-dd { width: 100%; }
	.om-drawer-nav .om-dd-sum { width: 100%; }
	.om-drawer-nav .om-dd-panel { position: static; min-width: 0; margin: 2px 0 6px 14px; padding: 0 0 0 10px; gap: 0; border: 0; border-left: 2px solid var(--om-divider); border-radius: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
	body.om-theme .om-drawer-nav .om-dd-link { padding: 12px 12px; border-radius: 12px; font-size: 15px; }

	.om-drawer-sec { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; margin-top: 6px; border-top: 1px solid var(--om-divider); }
	.om-drawer-lab { margin: 0; font-family: var(--om-mono); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--om-ink-4); }
	.om-lang--drawer { align-self: flex-start; }
	.om-lang--drawer a { padding: 8px 14px 8px 10px; font-size: 14px; }
	body.om-theme .om-drawer-call, body.om-theme .om-drawer-mail { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--om-r-md); text-decoration: none; color: var(--om-ink); background: var(--om-tile); border: 1px solid var(--om-line-3); }
	body.om-theme .om-drawer-call { background: var(--om-accent); color: var(--om-on-accent); border-color: transparent; }
	body.om-theme .om-drawer-call:hover { color: var(--om-on-accent); }
	.om-drawer-call span, .om-drawer-mail span { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
	.om-drawer-call small, .om-drawer-mail small { font-size: 12px; opacity: .8; }
	.om-drawer-call strong { font-size: 18px; font-weight: 800; }
	.om-drawer-mail strong { font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }

	.om-drawer-foot { display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--om-divider); }
	body.om-theme button.om-drawer-theme { display: flex; align-items: center; gap: 12px; width: 100%; margin: 0 !important; padding: 10px 14px !important; min-height: 0 !important; border-radius: var(--om-r-md); border: 1px solid var(--om-line-3); background: var(--om-tile); color: var(--om-ink); font: inherit; font-size: 15px; font-weight: 600; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; line-height: 1.2 !important; }
	.om-drawer-theme-ic { display: inline-flex; }
	.om-drawer-theme-tx { flex: 1; text-align: left; }
	.om-switch { position: relative; width: 44px; height: 26px; border-radius: 999px; background: var(--om-line-1); flex: none; transition: background-color .2s ease; }
	.om-switch i { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .4); transition: transform .22s ease; }
	html[data-om-theme="light"] .om-switch { background: var(--om-accent); }
	html[data-om-theme="light"] .om-switch i { transform: translateX(18px); }
	body.om-theme .om-drawer-cta { width: 100%; }
}

/* ---------- Banner breadcrumb / hero trang con ---------- */
.om-pagehero { position: relative; z-index: 2; min-height: var(--om-ph-min, 340px); display: flex; flex-direction: column; overflow: hidden; }
.om-pagehero-bg { position: absolute; inset: 0; z-index: 0; }
.om-pagehero-bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.om-pagehero:not(.has-img) .om-pagehero-bg {
	background:
		radial-gradient(60% 90% at 8% 10%, color-mix(in srgb, var(--om-accent) calc(36% * var(--om-blob-k)), transparent), transparent 70%),
		radial-gradient(50% 80% at 92% 90%, color-mix(in srgb, var(--om-blue) calc(40% * var(--om-blob-k)), transparent), transparent 70%),
		radial-gradient(40% 70% at 60% 0%, color-mix(in srgb, var(--om-violet) calc(32% * var(--om-blob-k)), transparent), transparent 70%);
}
.om-hero-scrim { position: absolute; inset: 0; background: var(--om-scrim); }
.om-pagehero:not(.has-img) .om-hero-scrim { display: none; }
.om-hero-fade { position: absolute; left: 0; right: 0; bottom: 0; height: 160px; background: linear-gradient(rgba(var(--om-bg-rgb), 0), var(--om-fade)); }
.om-pagehero-in { position: relative; z-index: 1; flex: 1; display: flex; align-items: center; padding-top: calc(var(--om-header-h) + 28px); padding-bottom: var(--om-ph-pb, 56px); }
.om-pagehero.is-center .om-pagehero-in { justify-content: center; text-align: center; }
.om-pagehero-card { width: 100%; max-width: var(--om-ph-cw, none); border-radius: var(--om-r-xl); padding: clamp(24px, 3.4vw, 40px); display: flex; flex-direction: column; gap: 14px; }
.om-pagehero.no-card .om-pagehero-card { padding: 0; }
.om-pagehero-title { margin: 0; font-size: var(--om-h1); line-height: 1.08; letter-spacing: -.035em; font-weight: 800; }
.om-pagehero-lead { margin: 0; font-size: 17px; line-height: 1.65; color: var(--om-ink-2); }
.om-pagehero.is-center .om-bc ol { justify-content: center; }

/* Breadcrumb */
.om-bc { font-size: 13px; line-height: 1.4; }
.om-bc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; }
.om-bc li { margin: 0; display: inline-flex; align-items: center; color: var(--om-ink-3); }
body.om-theme .om-bc a, body.om-theme .om-bc--rm a { color: var(--om-ink-2); text-decoration: none; }
body.om-theme .om-bc a:hover, body.om-theme .om-bc--rm a:hover { color: var(--om-accent-text); text-decoration: underline; }
.om-bc-sep { margin: 0 8px; opacity: .55; }
.om-bc-cur span { color: var(--om-ink); font-weight: 600; }
.om-bc--rm { font-size: 13px; color: var(--om-ink-3); }
.om-bc--rm .rank-math-breadcrumb p { margin: 0; }
.om-bc--rm .separator { margin: 0 6px; opacity: .55; }
.om-bc--rm .last { color: var(--om-ink); font-weight: 600; }

@media (max-width: 849px) {
	.om-pagehero-in { padding-top: calc(var(--om-header-h) + 16px); }
}

/* ---------- Footer ---------- */
.om-footer-wrap { background: transparent; position: relative; z-index: 2; padding-bottom: 32px; }
.om-footer { position: relative; z-index: 1; padding-top: var(--om-sec-space); }
.om-footer-card { padding: var(--om-pad-card); display: flex; flex-direction: column; gap: var(--om-card-gap); }
.om-ft-top { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; }
.om-ft-brand { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.om-ft-socials { display: flex; gap: 10px; align-items: center; }
body.om-theme .om-soc { display: inline-flex; line-height: 0; border-radius: 50%; transition: transform .18s ease; }
body.om-theme .om-soc:hover { transform: translateY(-2px); }
.om-soc-img { display: block; border-radius: 50%; }
.om-soc-ic { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.om-ft-contact { display: flex; flex-wrap: wrap; gap: 10px; }
body.om-theme .om-ft-call { display: flex; flex-direction: column; border-radius: 16px; padding: 12px 18px; color: var(--om-on-accent); background: var(--om-accent); text-decoration: none; }
body.om-theme .om-ft-call:hover { color: var(--om-on-accent); filter: brightness(1.05); }
.om-ft-call-l { font-size: 12px; font-weight: 600; }
.om-ft-call-v { font-size: 20px; font-weight: 800; }
body.om-theme .om-ft-mail { display: flex; flex-direction: column; border-radius: 16px; padding: 12px 18px; color: var(--om-ink); text-decoration: none; }
body.om-theme .om-ft-mail:hover { background: var(--om-tile-hover); color: var(--om-ink); }
.om-ft-mail-l { font-size: 12px; color: var(--om-ink-3); }
.om-ft-mail-v { font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }

.om-ft-addrs { font-style: normal; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 10px; }
.om-ft-addr { padding: 18px; }
.om-ft-addr-t { margin: 0; font-size: 12px; font-weight: 700; line-height: 1.45; text-transform: uppercase; }
.om-ft-addr-d { margin: 8px 0 0; font-size: 13px; line-height: 1.55; color: var(--om-ink-3); }

.om-ft-note { border-radius: var(--om-r-md); padding: 18px 20px; display: flex; gap: 14px; align-items: flex-start; background: var(--om-note-bg); border: 1px solid var(--om-note-line); }
.om-ft-note-ic { margin-top: 2px; color: var(--om-accent-text); }
.om-ft-note-tx { display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 1.65; color: var(--om-ink-2); }
.om-ft-note-tx p { margin: 0; }
.om-ft-note-tx a { font-weight: 600; }
.om-ft-note-tx strong { color: var(--om-ink); }

.om-ft-bottom { border-top: 1px solid var(--om-divider); padding-top: 20px; display: flex; flex-wrap: wrap; gap: 12px 32px; justify-content: space-between; align-items: center; font-size: 14px; }
.om-ft-nav, .om-ft-legal { display: flex; flex-wrap: wrap; gap: 4px 24px; }
body.om-theme .om-ft-nav a { color: var(--om-ink-2); text-decoration: none; padding: 6px 0; }
body.om-theme .om-ft-legal a { color: var(--om-ink-3); text-decoration: none; padding: 6px 0; }
body.om-theme .om-ft-nav a:hover, body.om-theme .om-ft-legal a:hover { color: var(--om-accent-text); text-decoration: underline; }
.om-ft-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-left: auto; }
.om-ft-badge { display: inline-flex; line-height: 0; }
.om-ft-badge-img { display: block; max-width: 100%; }
.om-ft-copy { margin: 0; width: 100%; font-size: 13px; color: var(--om-ink-4); }

/* ---------- Trang thường ---------- */
.om-content { position: relative; z-index: 1; }
.om-page .om-wrap, .om-blog-wrap .om-wrap { padding-top: var(--om-sec-first); padding-bottom: 0; }
.om-page-card { padding: var(--om-pad-card); }
.om-comments { padding-bottom: 32px; }

/* 404 */
.om-404 .om-wrap { padding-top: 40px; padding-bottom: 40px; }
.om-404-card { padding: clamp(28px, 5vw, 56px); display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.om-404-card h2 { margin: 0; font-size: clamp(28px, 3.2vw, 42px); }
.om-404-card p { margin: 0; color: var(--om-ink-2); }
.om-search { display: flex; gap: 10px; flex-wrap: wrap; width: 100%; max-width: 560px; }
.om-search input[type="search"] { flex: 1 1 240px; height: 48px; margin: 0; border-radius: var(--om-pill); padding: 0 20px; background: var(--om-glass-3); border: 1px solid var(--om-line-1); color: var(--om-ink); box-shadow: none; font-family: var(--om-font); }
.om-search input[type="search"]::placeholder { color: var(--om-ink-4); }

/* Chống nháy: backdrop-filter lồng trong thẻ kính (cũng dùng backdrop-filter) làm Chrome vẽ lại chớp trắng khi cuộn → bỏ blur ở phần tử con. */
.om-card :is(.om-chip, .om-tile, .om-feat, .om-stat, .om-step, .om-specgrp, .om-office, .om-solution, .om-mq-item, .om-store, .om-ipanel),
.om-panel :is(.om-chip, .om-tile, .om-feat, .om-stat, .om-step, .om-specgrp, .om-office, .om-solution, .om-mq-item, .om-ipanel, .om-showcase),
.om-footer-card .om-ft-mail,
.om-solutions .om-solution { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.om-footer-card .om-ft-mail { background: var(--om-glass-3); }

/* Google Translate (GTranslate miễn phí): ẩn thanh công cụ và tô sáng của Google */
body.om-theme { top: 0 !important; }
.goog-te-banner-frame, .goog-te-balloon-frame, #goog-gt-tt, .goog-tooltip, .skiptranslate > iframe { display: none !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
font[style] { background: none !important; box-shadow: none !important; }
