/* =====================================================
   asia.com.ge — GenxPlayer edition (2026-10-11)
   GenxPlayer stays as it is; only the site's font, the 16:9 box, and (when ads are on) the ad layer.
   The accent colour is GenxPlayer's own `theme` option (#B78CFF) in js/nx-dp.js.
   ===================================================== */
.nxdp-host { background: #000; }
.nxdp-host .gxplayer { width: 100%; height: 100%; border-radius: inherit; }
.nxdp-host .gxplayer, .nxdp-host .gxplayer * { font-family: "GENX Geo", "NxSite", "Inter", "Noto Sans Georgian", system-ui, sans-serif !important; }
.nxdp-host .gxplayer-video-wrap { height: 100%; }
.nxdp-yt { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; width: 100%; height: 100%; border: 0; }

/* ads (only when switched on in Premium Asia): their own video above GenxPlayer */
.nxdp-ui.nxp { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 30; width: auto; height: auto; aspect-ratio: auto; background: none; border-radius: 0; overflow: hidden; pointer-events: none; }
.nxdp-ui.nxp.is-ad { pointer-events: auto; }
.nxdp-ui .nxv-adv { position: absolute; top: 0; right: 0; bottom: 0; left: 0; inset: 0; width: 100%; height: 100%; background: #000; object-fit: contain; display: none; }
.nxdp-ui.is-ad .nxv-adv { display: block; }
.nxdp-ui .nxv-adbar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(255, 255, 255, .2); }
.nxdp-ui .nxv-adbar i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: #FBBF24; }
.nxdp-ui .nxp-ad-skip { bottom: 40px; }
.gxplayer.nxdp-inad .gxplayer-controller, .gxplayer.nxdp-inad .gxplayer-controller-mask { visibility: hidden; }
.gxplayer .nxp-bns { z-index: 20; }
.nxdp-host .gxplayer-quality-item, .nxdp-host .gxplayer-quality-icon { white-space: nowrap; } .nxdp-host .gxplayer-quality-list { width: auto; min-width: 100%; }
/* the name after the time */
.nxdp-host .gxplayer-icons-left { display: flex; align-items: center; }
.nxdp-title { display: inline-block; margin-left: 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; vertical-align: middle; font-size: 13px; line-height: 38px; color: rgba(255, 255, 255, .88); text-shadow: 0 1px 3px rgba(0, 0, 0, .5); }
.nxdp-title::before { content: "•"; margin: 0 8px 0 2px; color: #B78CFF; }
.nxdp-title.is-top { position: absolute; z-index: 15; top: 12px; left: 14px; right: 14px; margin: 0; max-width: none; font-size: 14px; font-weight: 700; line-height: 1.35; pointer-events: none; transition: opacity .3s; }
.nxdp-title.is-top::before { display: none; }
.gxplayer.gxplayer-hide-controller .nxdp-title.is-top { opacity: 0; }
.nxdp-host .gxplayer::before { content: ""; position: absolute; z-index: 14; left: 0; right: 0; top: 0; height: 64px; background: linear-gradient(180deg, rgba(0, 0, 0, .55), transparent); pointer-events: none; opacity: 0; transition: opacity .3s; }
.nxdp-host .gxplayer:has(.nxdp-title.is-top):not(.gxplayer-hide-controller)::before { opacity: 1; }
/* right-click menu: the site's credit, last line */
.gxplayer-menu .nxdp-credit { border-top: 1px solid rgba(255, 255, 255, .12); }
.gxplayer-menu .nxdp-credit a { display: flex !important; align-items: center; gap: 5px; color: #E3D2FF !important; }
.gxplayer-menu .nxdp-credit b { font-weight: 800; letter-spacing: .08em; color: #fff; }
.gxplayer-menu .nxdp-credit sup { display: inline-grid; place-items: center; width: 11px; height: 11px; margin: -9px 0 0 -2px; border: 1px solid currentColor; border-radius: 50%; font-size: 7px; font-weight: 800; line-height: 1; color: #B78CFF; }
.nxdp-host .gxplayer-menu { width: auto !important; min-width: 190px; } .nxdp-host .gxplayer-menu .gxplayer-menu-item a { padding-right: 16px; }

/* storyboard: the film's frame above the progress bar (js: D.storyboard in nx-dp.js) */
.nxdp-host .nxdp-sb { position: absolute; z-index: 40; left: 0; bottom: calc(100% + 16px); width: 230px; padding: 4px; border-radius: 14px; background: rgba(13, 9, 26, .94); border: 1px solid rgba(183, 140, 255, .5); box-shadow: 0 14px 34px rgba(0, 0, 0, .6), 0 0 26px rgba(183, 140, 255, .28); opacity: 0; transform: translateY(8px) scale(.95); transform-origin: var(--nub, 50%) 100%; transition: opacity .16s ease, transform .18s ease; pointer-events: none; }
.gxplayer.nxdp-sb-on .nxdp-sb { opacity: 1; transform: none; }
.nxdp-host .nxdp-sb::after { content: ""; position: absolute; left: var(--nub, 50%); bottom: -7px; width: 12px; height: 12px; margin-left: -6px; background: rgba(13, 9, 26, .94); border-right: 1px solid rgba(183, 140, 255, .5); border-bottom: 1px solid rgba(183, 140, 255, .5); transform: rotate(45deg); }
.nxdp-host .nxdp-sb-f { position: relative; overflow: hidden; border-radius: 10px; aspect-ratio: 16 / 9; background: #07050F radial-gradient(circle at 50% 50%, rgba(183, 140, 255, .18), transparent 70%); }
.nxdp-host .nxdp-sb canvas { display: block; width: 100%; height: 100%; opacity: 0; transition: opacity .18s, filter .18s; }
.nxdp-host .nxdp-sb.has-f canvas { opacity: 1; }
.nxdp-host .nxdp-sb.has-f.is-load canvas { opacity: .5; filter: blur(2px); }
.nxdp-host .nxdp-sb-spin { position: absolute; left: 50%; top: 50%; width: 24px; height: 24px; margin: -12px 0 0 -12px; border-radius: 50%; border: 2.5px solid rgba(255, 255, 255, .16); border-top-color: #B78CFF; border-right-color: #F472B6; opacity: 0; transition: opacity .15s; animation: nxdpsb .7s linear infinite; }
.nxdp-host .nxdp-sb.is-load .nxdp-sb-spin { opacity: 1; }
@keyframes nxdpsb { to { transform: rotate(360deg); } }
.nxdp-host .nxdp-sb-t { display: block; padding: 6px 0 3px; text-align: center; font-size: 13px; font-weight: 800; letter-spacing: .02em; color: #fff; font-variant-numeric: tabular-nums; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
.nxdp-host .nxdp-sb-v { position: absolute; width: 2px; height: 2px; left: 0; top: 0; opacity: 0; pointer-events: none; }
.gxplayer.nxdp-sb-on .gxplayer-bar-time { display: none !important; }
@media (max-width: 640px) { .nxdp-host .nxdp-sb { width: 168px; bottom: calc(100% + 14px); } .nxdp-host .nxdp-sb-t { font-size: 12px; padding-top: 4px; } }
/* "full window" (GenxPlayer's web fullscreen): the old #playerjs1 rules (ID + !important: fixed height, width,
   position) outranked GenxPlayer's own .gxplayer-fulled, so on phones the player stayed in place and its bar fell
   below the screen. Same box, stronger selector. */
html body #playerjs1.gxplayer.gxplayer-fulled { position: fixed !important; z-index: 100000 !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; inset: 0 !important; left: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; margin: 0 !important; border-radius: 0 !important; transform: none !important; aspect-ratio: auto !important; }
/* …and its parents (.center-shida-1 / .center-1 have z-index:1) kept it under the site header (z 900):
   while "full window" is on, the player's parents stop boxing it in */
body.gxplayer-web-fullscreen-fix .center-shida-1, body.gxplayer-web-fullscreen-fix .center-1,
body.gxplayer-web-fullscreen-fix :has(> #playerjs1.gxplayer-fulled), body.gxplayer-web-fullscreen-fix :has(#playerjs1.gxplayer-fulled) { z-index: auto !important; transform: none !important; filter: none !important; contain: none !important; isolation: auto !important; }

/* a file that is gone at the host: plain words and a way out (js/nx-dp.js sourceFailed) */
.nxdp-host .nxdp-fail { position: absolute; z-index: 30; top: 0; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 16px; text-align: center; color: #fff; background: rgba(8, 6, 18, .86); }
.nxdp-host .nxdp-fail b { font-size: 17px; line-height: 1.35; }
.nxdp-host .nxdp-fail span { margin-top: 6px; font-size: 13px; color: rgba(255, 255, 255, .72); }
.nxdp-host .nxdp-fail div { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 16px; }
.nxdp-host .nxdp-fail button { margin: 4px 5px; padding: 10px 18px; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; font: inherit; font-size: 14px; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .08); cursor: pointer; }
.nxdp-host .nxdp-fail .nxdp-fail-go { border-color: transparent; background: #8B5CF6; }
.nxdp-host .nxdp-fail button:focus { outline: 3px solid #fff; outline-offset: 2px; }

/* package: Georgian letters of the GenxPlayer look in BPG ExtraSquare (the faces are declared in nx-player.css) */
.nxdp-host .gxplayer, .nxdp-host .gxplayer button, .nxdp-host .gxplayer-notice, .nxdp-host .gxplayer-menu, .nxdp-host .gxplayer-setting-box, .nxdp-host .gxplayer-quality-list, .nxdp-host .gxplayer-subtitle, .nxdp-host .nxdp-fail { font-family: "GENX Geo", "Inter", "Noto Sans Georgian", system-ui, -apple-system, "Segoe UI", sans-serif; }
.nxdp-host .gxplayer .nxdp-title, .nxdp-host .gxplayer .nxdp-fail b { font-family: "GENX Geo Caps", "GENX Geo", "Noto Sans Georgian", sans-serif !important; letter-spacing: .02em; }

/* ===== the ad layer and the banners inside GenxPlayer's box (genx.ge, owner, 2026-10-14) =====
   GenxPlayer injects, after these sheets, `.gxplayer * { box-sizing: content-box }`, `.gxplayer svg { width: 100%; height: 100% }`
   and `.gxplayer svg path:not([fill]) { fill: #fff }`. In our layers that made the "გამოტოვება" arrow white on the white
   hover state (only its bar, a <rect>, stayed visible — the owner saw "I"), blew the banner's X up to the whole button and
   gave that button the browser's own padding. Everything below outranks those three rules. */
.nxdp-ui.nxp, .nxdp-ui.nxp *, .nxdp-ui.nxp *::before, .nxdp-ui.nxp *::after, .nxdp-host .nxp-bns, .nxdp-host .nxp-bns * { box-sizing: border-box; }
.nxdp-ui.nxp svg, .nxdp-host .nxp-bns svg { width: 22px; height: 22px; flex: none; fill: currentColor; }
.nxdp-ui.nxp svg path:not([fill]), .nxdp-ui.nxp svg rect:not([fill]), .nxdp-ui.nxp svg circle:not([fill]), .nxdp-host .nxp-bns svg path:not([fill]), .nxdp-host .nxp-bns svg rect:not([fill]), .nxdp-host .nxp-bns svg circle:not([fill]) { fill: currentColor; }
.nxdp-ui.nxp svg.st, .nxdp-ui.nxp svg.st path, .nxdp-host .nxp-bns svg.st, .nxdp-host .nxp-bns svg.st path { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
/* "გაიგე მეტი" and "გამოტოვება": the same look (inset from the edge, rounded, framed, padded — the `.nxp button { padding: 0 }`
   reset had flattened the skip into a 19px strip glued to the edge). The skip keeps one size while its count turns into the arrow. */
.nxdp-ui.nxp .nxp-ad-more svg { width: 16px; height: 16px; }
.nxdp-ui.nxp .nxp-ad-skip { right: 14px; bottom: 52px; min-width: 0; min-height: 44px; padding: 9px 12px 9px 16px; gap: 8px; border-radius: 10px; font-size: 13.5px; line-height: 1.2; color: #fff; border: 1px solid rgba(255, 255, 255, .28) !important; border-right: 1px solid rgba(255, 255, 255, .28) !important; background: rgba(0, 0, 0, .62) !important; }
.nxdp-ui.nxp .nxp-ad-skip b { min-width: 24px; height: 24px; }
.nxdp-ui.nxp .nxp-ad-skip svg { width: 24px; height: 24px; padding: 4px; }
.nxdp-ui.nxp .nxp-ad-skip:disabled { color: rgba(255, 255, 255, .78); }
.nxdp-ui.nxp .nxp-ad-skip:not(:disabled):hover, .nxdp-ui.nxp .nxp-ad-skip:not(:disabled):focus-visible { background: rgba(255, 255, 255, .95) !important; color: #000; }
/* banner close: a 24px ring with a stroked white X (it came out black and unstroked, so the ring looked empty); inverted on hover */
.nxdp-host .nxp-bn-x { width: 24px; height: 24px; padding: 0; color: #fff !important; }
.nxdp-host .nxp-bn-x svg { width: 13px; height: 13px; }
.nxdp-host .nxp-bn-x:hover { background: rgba(255, 255, 255, .95) !important; color: #000 !important; }
/* narrow player (js/nx-dp.js puts .nxdp-narrow on the box under 560px and .nxdp-tiny under 400px — the box, not the window,
   so a small embed on a desktop counts too): the ad buttons shrink a step, and a banner is laid out full width above the
   controls — at 38% of a phone's width (about 120px) its words could not be read and the X was taller than the banner. */
.gxplayer.nxdp-narrow .nxp-ad-tag { left: 10px; top: 10px; }
.gxplayer.nxdp-narrow .nxp-ad-more { right: 10px; top: 10px; padding: 6px 8px 6px 11px; font-size: 12.5px; }
.gxplayer.nxdp-narrow .nxdp-ui.nxp .nxp-ad-skip { right: 10px; bottom: 44px; min-height: 40px; padding: 7px 10px 7px 13px; font-size: 12.5px; }
.gxplayer.nxdp-narrow .nxp-bn { left: 6% !important; width: 88% !important; top: auto !important; bottom: 54px; }
.gxplayer.nxdp-narrow .nxp-bn-x { right: -6px; top: -10px; }
/* an open settings menu: the gear's "პარამეტრები" tooltip no longer lies over the first row */
.nxdp-host .gxplayer-setting:has(.gxplayer-setting-box-open) .gxplayer-setting-icon::before, .nxdp-host .gxplayer-setting:has(.gxplayer-setting-box-open) .gxplayer-setting-icon::after { display: none !important; }
/* the speed list is 70px wide in the library; the Georgian "ნორმალური" needs more */
.gxplayer-controller .gxplayer-icons .gxplayer-setting .gxplayer-setting-box.gxplayer-setting-box-narrow { width: 124px !important; }
.gxplayer-setting-speed-item .gxplayer-label { white-space: nowrap; }

/* "ვიდეოს ინფორმაცია" panel (GenxPlayer's built-in debug box): the library gives it a fixed 400px box with a
   100px/260px two-column grid (rows sat far apart — "stretched") and a bare "[x]" text as the close. Here: fit the
   box to its content, lay the rows out as label+value pairs, and draw a real round close button with an X in a ring
   instead of the "[x]". (genx.ge, owner, 2026-10-13) */
.nxdp-host .gxplayer-info-panel { width: auto !important; max-width: min(92%, 440px); padding: 14px 16px !important; background: rgba(13, 9, 26, .92) !important; border: 1px solid rgba(183, 140, 255, .32); border-radius: 14px; box-shadow: 0 18px 44px rgba(0, 0, 0, .55); font-size: 12.5px; line-height: 1.5; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.nxdp-host .gxplayer-info-panel-item { display: flex; align-items: baseline; gap: 10px; margin: 3px 0; }
.nxdp-host .gxplayer-info-panel-item > span { display: inline; vertical-align: baseline; line-height: 1.5; white-space: normal; }
.nxdp-host .gxplayer-info-panel-item-title { width: auto !important; min-width: 88px; margin-right: 0 !important; text-align: right; color: rgba(255, 255, 255, .6); }
.nxdp-host .gxplayer-info-panel-item-data { width: auto !important; flex: 1; min-width: 0; color: #fff; word-break: break-all; }
.nxdp-host .gxplayer-info-panel-close { right: 12px !important; top: 12px !important; width: 26px; height: 26px; display: block; border: 1.5px solid rgba(255, 255, 255, .4); border-radius: 50%; font-size: 0 !important; line-height: 0; color: transparent; transition: border-color .2s ease, background .2s ease; }
.nxdp-host .gxplayer-info-panel-close:hover { border-color: #fff; background: rgba(255, 255, 255, .12); }
.nxdp-host .gxplayer-info-panel-close::before, .nxdp-host .gxplayer-info-panel-close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.6px; margin: -.8px 0 0 -6px; border-radius: 2px; background: #fff; }
.nxdp-host .gxplayer-info-panel-close::before { transform: rotate(45deg); }
.nxdp-host .gxplayer-info-panel-close::after { transform: rotate(-45deg); }
