/*
Theme Name: NORVÉA
Theme URI: https://www.norvea-eg.com
Author: NORVÉA
Description: Block theme for the NORVÉA software store. Every page and section is built from editable blocks and patterns; colors, fonts and spacing are controlled from Appearance → Editor → Styles. Works with WooCommerce.
Version: 1.1.19
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: Proprietary
Text Domain: norvea
Tags: full-site-editing, block-patterns, e-commerce, custom-colors, wide-blocks
*/

/* ==========================================================================
   Design tokens come from theme.json (Styles → Colors / Typography).
   This file only adds what theme.json cannot express: layouts, the app
   icons, tile looks and the small interactive parts.
   ========================================================================== */

:root {
	--nv-brand: var(--wp--preset--color--brand);
	--nv-text: var(--wp--preset--color--contrast);
	--nv-bg: var(--wp--preset--color--base);
	--nv-soft: var(--wp--preset--color--surface);
	--nv-line: var(--wp--preset--color--line);
	--nv-muted: var(--wp--preset--color--muted);
	--nv-faint: var(--wp--preset--color--faint);
	--nv-ink: var(--wp--preset--color--ink);
	--nv-mono: var(--wp--preset--font-family--geist-mono);
	--nv-r-lg: 28px;
	--nv-r-md: 18px;
}

html { scroll-behavior: smooth; overflow-x: clip; }
body { overflow-x: clip; -webkit-font-smoothing: antialiased; }

/* ---------- Header ---------- */
.nv-header {
	position: sticky; top: 0; z-index: 50;
	background: color-mix(in srgb, var(--nv-bg) 86%, transparent);
	backdrop-filter: saturate(1.6) blur(18px);
	-webkit-backdrop-filter: saturate(1.6) blur(18px);
	border-bottom: 1px solid var(--nv-line);
}
.admin-bar .nv-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .nv-header { top: 46px; } }
.nv-logo { line-height: 0; color: var(--nv-text); }
.nv-logo a { color: inherit; display: inline-block; }
.nv-logo svg { height: 54px; width: auto; display: block; }
.nv-footer .nv-logo svg { height: 72px; }
.nv-header .wp-block-navigation { font-size: 14.5px; }
/* icon-only search, account and cart: quiet round icons, not brand buttons */
.nv-header .wp-block-search__button,
.nv-header .wp-block-search__button.has-icon {
	background: transparent !important; color: var(--nv-muted) !important; border: 0 !important;
	padding: 0 !important; width: 38px; height: 38px; min-width: 38px; border-radius: 999px; display: grid; place-items: center;
}
.nv-header .wp-block-search__button:hover { background: var(--nv-soft) !important; color: var(--nv-text) !important; }
.nv-header .wp-block-search__button svg { width: 20px; height: 20px; fill: currentColor; }
.nv-header .wp-block-search__inside-wrapper { border-radius: 999px; }
.nv-header .wp-block-search__input { border-radius: 999px; border-color: var(--nv-line); }
.nv-header .wc-block-customer-account a, .nv-header a.wc-block-customer-account__link,
.nv-header .wc-block-mini-cart__button { color: var(--nv-muted) !important; }
.nv-header .wc-block-customer-account a:hover, .nv-header a.wc-block-customer-account__link:hover,
.nv-header .wc-block-mini-cart__button:hover { color: var(--nv-text) !important; }
.nv-header .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) {
	.nv-header .wp-block-buttons, .nv-header .wp-block-search { display: none; }
}
.nv-header .wc-block-mini-cart__badge { background: var(--nv-brand); color: #fff; border-color: transparent; }
.nv-header .wp-block-navigation-item__content { color: var(--nv-muted); }
.nv-header .wp-block-navigation-item__content:hover { color: var(--nv-text); }
/* "Products" submenu as a large card */
.nv-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--nv-line) !important;
	border-radius: var(--nv-r-md);
	background: var(--nv-bg) !important;
	box-shadow: 0 30px 60px -24px rgba(10, 12, 20, .25);
	padding: 14px !important;
	min-width: 280px !important;
}
@media (min-width: 900px) {
	.nv-header .wp-block-navigation-submenu > .wp-block-navigation__submenu-container {
		display: grid; grid-template-columns: 1fr 1fr; gap: 2px 10px; min-width: 560px !important;
	}
}
.nv-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 12px !important; border-radius: 10px; color: var(--nv-text);
	flex-direction: column; align-items: flex-start; gap: 2px;
}
.nv-header .wp-block-navigation__submenu-container .wp-block-navigation-item__label { white-space: nowrap; font-weight: 600; }
.nv-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--nv-soft); }
.nv-header .wp-block-navigation-item__description { display: block; font-size: 13px; color: var(--nv-muted); }

/* ---------- App icons (Paragraph → Styles → "App: …") ---------- */
p[class*="is-style-app-"] {
	--nv-fg: var(--nv-text);
	width: 56px; height: 56px; flex: none;
	border-radius: 14px; border: 1.5px solid var(--nv-fg);
	background: color-mix(in srgb, var(--nv-fg) 13%, #050608);
	color: var(--nv-fg);
	display: grid; place-items: center;
	font-weight: 600; font-size: 22px; letter-spacing: -.02em; line-height: 1;
	margin: 0; padding: 0;
}
p.is-style-app-one { --nv-fg: var(--wp--preset--color--app-one); }
p.is-style-app-doc { --nv-fg: var(--wp--preset--color--app-doc); }
p.is-style-app-lex { --nv-fg: var(--wp--preset--color--app-lex); background: #0F2444; }
p.is-style-app-vic { --nv-fg: var(--wp--preset--color--app-vic); }
p.is-style-app-pdx { --nv-fg: var(--wp--preset--color--app-pdx); }
p.is-style-app-wal { --nv-fg: var(--wp--preset--color--app-wal); }
p.is-style-app-tsk { --nv-fg: var(--wp--preset--color--app-tsk); }
p.is-style-app-adh { --nv-fg: var(--wp--preset--color--app-adh); }
p.is-style-app-suite {
	color: #fff; border: 0; position: relative; isolation: isolate;
	background: conic-gradient(from 210deg, var(--wp--preset--color--app-doc), var(--wp--preset--color--app-adh), var(--wp--preset--color--app-pdx), var(--wp--preset--color--app-vic), var(--wp--preset--color--app-one), var(--wp--preset--color--app-wal), var(--wp--preset--color--app-tsk), var(--wp--preset--color--app-doc));
}
p.is-style-app-suite::before { content: ""; position: absolute; inset: 2px; border-radius: 12px; background: #0C0D10; z-index: -1; }
/* sizes by context */
.nv-strip p[class*="is-style-app-"], p[class*="is-style-app-"].nv-lg { width: 84px; height: 84px; border-radius: 20px; font-size: 34px; border-width: 2px; }
.nv-strip p.is-style-app-suite::before, p.is-style-app-suite.nv-lg::before { border-radius: 18px; inset: 2.5px; }
.nv-plan-icons p[class*="is-style-app-"], p[class*="is-style-app-"].nv-sm { width: 36px; height: 36px; border-radius: 9px; font-size: 15px; border-width: 1.2px; }
.nv-plan-icons p.is-style-app-suite::before, p.is-style-app-suite.nv-sm::before { border-radius: 8px; inset: 1.5px; }
.nv-tabvis p[class*="is-style-app-"] { width: 110px; height: 110px; border-radius: 26px; font-size: 44px; border-width: 2px; }

/* ---------- Small text helpers ---------- */
.nv-kicker { font-family: var(--nv-mono); font-size: 12px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--nv-brand); margin: 0; }
.nv-plat, .nv-os { font-family: var(--nv-mono); font-size: 11.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; opacity: .65; }
.nv-note { font-size: 13.5px; color: var(--nv-faint); }

/* ---------- Hero ---------- */
.nv-pill { text-align: center; }
.nv-pill a {
	display: inline-flex; align-items: center; gap: 10px; min-height: 34px; padding: 4px 6px 4px 14px;
	border: 1px solid var(--nv-line); border-radius: 999px; font-size: 13.5px; color: var(--nv-muted); text-decoration: none;
}
.nv-pill a strong, .nv-pill a b { font-weight: 500; color: #fff; background: var(--nv-brand); border-radius: 999px; padding: 3px 10px; font-size: 12px; }
.nv-hero-title { letter-spacing: -.05em !important; max-width: 12ch; margin-inline: auto !important; }
/* Anything highlighted (Highlight tool) in the hero title becomes the gradient text */
.nv-hero-title mark {
	background-color: transparent !important;
	background-image: linear-gradient(90deg, var(--wp--preset--color--app-doc), var(--wp--preset--color--app-adh) 30%, var(--wp--preset--color--app-pdx) 55%, var(--wp--preset--color--app-vic) 75%, var(--wp--preset--color--app-one)) !important;
	-webkit-background-clip: text !important; background-clip: text !important;
	-webkit-text-fill-color: transparent; color: transparent !important;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.nv-lead { max-width: 44ch; margin-inline: auto !important; }

/* Dark stage behind the hero screenshot */
.nv-stage {
	position: relative; border-radius: var(--nv-r-lg); background: #07080B; overflow: hidden; isolation: isolate;
}
.nv-stage::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		radial-gradient(40% 60% at 12% 20%, color-mix(in srgb, var(--wp--preset--color--app-doc) 40%, transparent), transparent 70%),
		radial-gradient(35% 55% at 88% 22%, color-mix(in srgb, var(--wp--preset--color--app-pdx) 32%, transparent), transparent 70%),
		radial-gradient(45% 50% at 55% 100%, color-mix(in srgb, var(--wp--preset--color--app-one) 30%, transparent), transparent 70%);
}
.nv-stage::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
	background-size: 48px 48px;
	-webkit-mask-image: linear-gradient(to bottom, #000, transparent 80%); mask-image: linear-gradient(to bottom, #000, transparent 80%);
}
.nv-stage .wp-block-image { margin: 0 auto; }
.nv-stage .wp-block-image img { border-radius: 16px 16px 0 0; display: block; box-shadow: 0 -20px 80px -20px rgba(0,0,0,.6); }

/* ---------- App strip ---------- */
.nv-strip { display: flex; justify-content: center; align-items: flex-start; gap: 30px; flex-wrap: wrap; }
/* the group's flow layout adds a top margin to every item but the first: keep them on one line */
.nv-strip > * { margin: 0 !important; }
.nv-strip > .wp-block-group { width: 92px; text-align: center; transition: transform .25s; }
.nv-strip > .wp-block-group:hover { transform: translateY(-4px); }
.nv-strip > .wp-block-group { min-width: 92px; width: auto; }
.nv-strip > .wp-block-group > p:not([class*="is-style-app-"]) { font-size: 13.5px; font-weight: 500; color: var(--nv-muted); margin: 12px 0 0; white-space: nowrap; }
.nv-strip a { color: inherit; text-decoration: none; }

/* ---------- Bento tiles (Group → Styles → "Tile: …") ---------- */
.nv-bento { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.nv-bento > * { margin: 0 !important; }
.nv-span-2 { grid-column: span 2; } .nv-span-3 { grid-column: span 3; } .nv-span-4 { grid-column: span 4; } .nv-span-6 { grid-column: span 6; }
[class*="is-style-tile-"] {
	border-radius: var(--nv-r-lg); padding: 40px !important; position: relative; overflow: hidden; isolation: isolate;
	min-height: 460px; display: flex !important; flex-direction: column; gap: 0;
}
[class*="is-style-tile-"] > * { margin-block: 0; }
[class*="is-style-tile-"] h3 { margin: 22px 0 12px !important; }
[class*="is-style-tile-"] > p:not([class*="is-style-app-"]):not(.nv-plat) { opacity: .82; max-width: 36ch; }
[class*="is-style-tile-"] .nv-plat { margin-top: 14px; }
[class*="is-style-tile-"] .wp-block-buttons { margin: 22px 0 28px !important; }
[class*="is-style-tile-"] .nv-art { margin-top: auto !important; }
[class*="is-style-tile-"] .wp-block-image img { border-radius: 14px; }
.is-style-tile-one { background: linear-gradient(160deg, #FFF6E4, #FBE5BA); color: #2A1C02; --nv-tile-accent: #9A6A0E; }
.is-style-tile-doc { background: linear-gradient(160deg, #ECF3FF, #D6E5FF); color: #04163A; --nv-tile-accent: #1F5FD6; }
.is-style-tile-wal { background: linear-gradient(160deg, #F5FBE2, #E6F4BD); color: #172003; --nv-tile-accent: #5B7A00; }
.is-style-tile-lex { background: linear-gradient(160deg, #12284C, #0A1830); color: #EEF1F7; --nv-tile-accent: #D9C38F; }
.is-style-tile-pdx { background: #0B0B0E; color: #F6E6EE; --nv-tile-accent: var(--wp--preset--color--app-pdx); }
.is-style-tile-vic { background: #1A0A0C; color: #FBE3E4; --nv-tile-accent: var(--wp--preset--color--app-vic); }
.is-style-tile-tsk { background: #06201C; color: #DDF7F2; --nv-tile-accent: var(--wp--preset--color--app-tsk); }
.is-style-tile-adh { background: #120C26; color: #ECE6FF; --nv-tile-accent: var(--wp--preset--color--app-adh); }
.is-style-tile-pdx::before { content: ""; position: absolute; inset: auto -30% -40% -30%; height: 80%; background: radial-gradient(closest-side, color-mix(in srgb, var(--wp--preset--color--app-pdx) 35%, transparent), transparent); z-index: -1; }
.is-style-tile-adh::before { content: ""; position: absolute; right: -60px; top: -60px; width: 260px; height: 260px; border-radius: 50%; box-shadow: -30px 30px 0 0 color-mix(in srgb, var(--wp--preset--color--app-adh) 16%, transparent); z-index: -1; }
.is-style-tile-lex::before { content: ""; position: absolute; right: -40px; top: -40px; width: 220px; height: 220px; border-radius: 50%; border: 1px solid rgba(237,227,200,.12); box-shadow: 0 0 0 30px rgba(237,227,200,.03), 0 0 0 60px rgba(237,227,200,.02); z-index: -1; }
[class*="is-style-tile-"] h3, [class*="is-style-tile-"] p:not([class*="is-style-app-"]) { color: inherit; }
/* buttons inside tiles take the tile's accent */
[class*="is-style-tile-"] .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--nv-tile-accent); color: #fff; }
.is-style-tile-pdx .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.is-style-tile-vic .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.is-style-tile-tsk .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.is-style-tile-adh .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.is-style-tile-lex .wp-block-button:not(.is-style-outline) .wp-block-button__link { color: #0B0B0E; }
[class*="is-style-tile-"] .wp-block-button.is-style-outline .wp-block-button__link { color: var(--nv-tile-accent); border-color: transparent; background: transparent; padding-inline: 4px; }

/* Decorative app previews inside tiles (Custom HTML blocks — replace with an Image block of a real screenshot any time) */
.nv-art { font-size: 13px; }
.nv-art .card { background: #fff; color: #10131A; border-radius: 16px; padding: 18px 20px; box-shadow: 0 30px 60px -30px rgba(10,20,40,.35); }
.nv-art .row { display: grid; grid-template-columns: 1.5fr 1fr auto; gap: 10px; padding: 10px 0; border-top: 1px solid rgba(0,0,0,.08); align-items: center; }
.nv-art .row span:nth-child(2), .nv-art .mono { font-family: var(--nv-mono); font-size: 12px; opacity: .7; }
.nv-art .hd { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.nv-art .hd b { font-size: 17px; letter-spacing: -.02em; }
.nv-art .tag { font-size: 11px; padding: 3px 9px; border-radius: 999px; font-weight: 500; white-space: nowrap; }
.nv-art .tag.g { background: #E2F6EA; color: #137A43; } .nv-art .tag.a { background: #FFF0D2; color: #9A5B00; } .nv-art .tag.r { background: #FDE4E4; color: #B4232A; }
.nv-art .ev { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 11px 14px; display: flex; gap: 12px; align-items: center; margin-top: 8px; }
.nv-art .ev b { font: 500 12px var(--nv-mono); color: var(--nv-tile-accent); width: 42px; flex: none; }
.nv-art .ev span { opacity: .82; flex: 1; }
.nv-art .ev i { font-style: normal; font-size: 11px; padding: 2px 8px; border-radius: 999px; background: rgba(255,255,255,.1); }
.nv-art .tables { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; max-width: 420px; margin-left: auto; }
.nv-art .tables div { aspect-ratio: 1.5; border-radius: 12px; background: rgba(255,92,99,.08); border: 1px solid rgba(255,92,99,.18); display: flex; flex-direction: column; justify-content: flex-end; padding: 10px; font-size: 11.5px; }
.nv-art .tables div b { font: 500 12px var(--nv-mono); color: var(--wp--preset--color--app-vic); }
.nv-art .tables div.hot { background: var(--wp--preset--color--app-vic); color: #2A0508; }
.nv-art .tables div.hot b { color: #2A0508; }
.nv-art .phone { width: 230px; height: 260px; margin: 0 auto -40px; border-radius: 44px 44px 0 0; border: 9px solid #24242A; border-bottom: 0; background: #111114; padding: 44px 18px 18px; position: relative; box-shadow: 0 0 0 1px #3A3A42, 0 40px 80px -20px rgba(255,115,185,.35); color: #EDEDF2; }
.nv-art .phone::before { content: ""; position: absolute; top: 12px; left: 50%; transform: translateX(-50%); width: 78px; height: 22px; border-radius: 999px; background: #000; }
.nv-art .phone .m { font-size: 15px; font-weight: 600; }
.nv-art .phone .s { font: 11px var(--nv-mono); color: #8E8E99; margin: 2px 0 14px; }
.nv-art .phone .k { display: flex; justify-content: space-between; font-size: 12px; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.07); color: #B3B3BD; }
.nv-art .phone .k b { color: #fff; font-weight: 500; }
.nv-art .amt { display: flex; justify-content: space-between; align-items: center; border: 1px solid rgba(4,22,58,.14); border-radius: 10px; padding: 10px 14px; font: 500 18px var(--nv-mono); }
.nv-art .amt span { font: 500 11px var(--nv-mono); background: #04163A; color: var(--wp--preset--color--app-doc); padding: 4px 8px; border-radius: 6px; }
.nv-art .words { margin-top: 12px; font-size: 14px; line-height: 1.5; }
.nv-art .words small { display: block; font: 500 10.5px var(--nv-mono); letter-spacing: .08em; opacity: .5; }
.nv-art .ar { font-family: var(--wp--preset--font-family--amiri); font-size: 18px; direction: rtl; text-align: right; margin-top: 8px; line-height: 1.6; }
.nv-art .bal { font-size: 24px; font-weight: 600; letter-spacing: -.03em; }
.nv-art .bar { margin-top: 10px; }
.nv-art .bar div { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 5px; }
.nv-art .bar i { display: block; height: 6px; border-radius: 9px; background: rgba(0,0,0,.08); overflow: hidden; }
.nv-art .bar i::after { content: ""; display: block; height: 100%; width: var(--w); background: #7FA80D; border-radius: 9px; }
.nv-art .bar.over i::after { background: #D9534F; }
.nv-art .remind { background: #0B2C27; border: 1px solid rgba(47,209,181,.25); border-radius: 16px; padding: 18px; }
.nv-art .remind .top { display: flex; justify-content: space-between; font: 500 11px var(--nv-mono); color: var(--wp--preset--color--app-tsk); letter-spacing: .06em; text-transform: uppercase; }
.nv-art .remind b { display: block; font-size: 17px; margin: 10px 0 2px; }
.nv-art .remind .btns { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 6px; margin-top: 14px; }
.nv-art .remind .btns span { text-align: center; padding: 8px 0; border-radius: 8px; background: rgba(255,255,255,.06); font-size: 12px; }
.nv-art .remind .btns span:first-child { background: var(--wp--preset--color--app-tsk); color: #022520; font-weight: 600; }
.nv-art .prayer { background: rgba(180,155,255,.07); border: 1px solid rgba(180,155,255,.22); border-radius: 16px; padding: 18px 20px; }
.nv-art .prayer .np { display: flex; justify-content: space-between; align-items: end; }
.nv-art .prayer small { display: block; font: 500 11px var(--nv-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--app-adh); }
.nv-art .prayer .np b { font-size: 22px; }
.nv-art .prayer .dh { font-family: var(--wp--preset--font-family--amiri); font-size: 22px; direction: rtl; text-align: center; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(180,155,255,.18); color: #fff; }

/* Hero stage window (Custom HTML preview) */
.nv-win { max-width: 1000px; margin: 0 auto; border-radius: 16px 16px 0 0; background: #111318; border: 1px solid rgba(255,255,255,.1); border-bottom: 0; overflow: hidden; text-align: left; color: #E8EAEE; font-size: 13px; box-shadow: 0 -20px 80px -20px rgba(0,0,0,.6); }
.nv-win .bar { height: 42px; display: flex; align-items: center; gap: 8px; padding-inline: 16px; border-bottom: 1px solid rgba(255,255,255,.07); background: #0D0F13; }
.nv-win .bar i { width: 11px; height: 11px; border-radius: 50%; background: #2A2D35; }
.nv-win .bar span { margin-inline: auto; font: 12px var(--nv-mono); color: #7D828D; }
.nv-win .body { display: grid; grid-template-columns: 210px 1fr; min-height: 420px; }
.nv-win .side { border-right: 1px solid rgba(255,255,255,.07); padding: 18px 12px; color: #8C919C; }
.nv-win .side div { padding: 8px 10px; border-radius: 8px; display: flex; justify-content: space-between; }
.nv-win .side div.on { background: color-mix(in srgb, var(--wp--preset--color--app-doc) 14%, transparent); color: var(--wp--preset--color--app-doc); }
.nv-win .side em { font-style: normal; font: 11px var(--nv-mono); color: #5E636D; }
.nv-win .main { padding: 24px 26px; }
.nv-win .head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.nv-win .head b { font-size: 22px; letter-spacing: -.03em; font-weight: 600; }
.nv-win .head span { background: var(--wp--preset--color--app-doc); color: #04163A; font-size: 12.5px; font-weight: 600; padding: 8px 14px; border-radius: 8px; }
.nv-win .kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 18px; }
.nv-win .kpi { background: #16191F; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; padding: 14px; }
.nv-win .kpi small { display: block; font-size: 11.5px; color: #7D828D; }
.nv-win .kpi b { font-size: 22px; font-weight: 500; letter-spacing: -.03em; }
.nv-win .chart { height: 120px; border-radius: 12px; background: #16191F; border: 1px solid rgba(255,255,255,.06); margin-bottom: 18px; overflow: hidden; }
.nv-win .chart svg { width: 100%; height: 100%; display: block; }
.nv-win .tbl { border: 1px solid rgba(255,255,255,.06); border-radius: 12px; overflow: hidden; font-size: 12.5px; }
.nv-win .tr { display: grid; grid-template-columns: 1.6fr 1fr 1fr .8fr; padding: 11px 16px; border-top: 1px solid rgba(255,255,255,.05); color: #B9BDC6; }
.nv-win .tr:first-child { border: 0; color: #6E737D; font-size: 11.5px; background: #14161B; }
.nv-win .tr .m { font-family: var(--nv-mono); }
.nv-win .st { font-size: 11px; padding: 3px 9px; border-radius: 999px; justify-self: start; background: rgba(79,209,139,.12); color: #4FD18B; }
.nv-win .st.due { background: rgba(232,176,75,.14); color: var(--wp--preset--color--app-one); }

/* ---------- Catalog ---------- */
.nv-chips { gap: 8px !important; }
.nv-chips .wp-block-button__link { background: var(--nv-bg) !important; color: var(--nv-muted) !important; border: 1px solid var(--nv-line) !important; padding: 9px 18px !important; font-size: 14px !important; }
.nv-chips .wp-block-button.is-active .wp-block-button__link { background: var(--nv-text) !important; color: var(--nv-bg) !important; border-color: var(--nv-text) !important; }
.nv-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.nv-grid > * { margin: 0 !important; }
.nv-card {
	background: var(--nv-bg); border: 1px solid var(--nv-line); border-radius: 22px; padding: 26px !important;
	display: flex !important; flex-direction: column; transition: transform .25s, box-shadow .25s;
}
.nv-card:hover { transform: translateY(-3px); box-shadow: 0 24px 50px -30px rgba(10,12,20,.3); }
.nv-card.is-hidden, .nv-card .wp-block-button.is-hidden { display: none !important; }
.nv-card > * { margin-block: 0 !important; }
.nv-card .nv-card-top { justify-content: space-between; align-items: flex-start !important; margin-bottom: 20px !important; }
.nv-card .nv-os { border: 1px solid var(--nv-line); padding: 3px 7px; border-radius: 6px; opacity: 1; color: var(--nv-muted); font-size: 10.5px; }
.nv-card h3, .nv-card h4 { font-size: 20px; letter-spacing: -.025em; }
.nv-card .nv-cat { font-size: 13px; color: var(--nv-faint); margin: 2px 0 12px !important; }
.nv-card .nv-desc { font-size: 14.5px; color: var(--nv-muted); flex: 1; }
.nv-card .nv-price { margin: 20px 0 16px !important; font-size: 13px; color: var(--nv-faint); }
.nv-card .nv-price strong, .nv-card .nv-price .amount, .nv-card .nv-price .woocommerce-Price-amount { font-size: 22px; color: var(--nv-text); font-weight: 600; letter-spacing: -.03em; margin-left: 4px; }
.nv-card .wp-block-buttons { margin-top: auto !important; }
.nv-card .wp-block-button { flex: 1; }
.nv-card .wp-block-button__link { width: 100%; padding: 10px 12px !important; font-size: 14px !important; white-space: nowrap; }
.nv-card.is-style-featured, .nv-card.nv-featured { background: var(--nv-ink); color: #F4F5F7; border-color: var(--nv-ink); }
.nv-card.nv-featured .nv-desc, .nv-card.nv-featured .nv-cat, .nv-card.nv-featured .nv-price { color: #9BA0AB; }
.nv-card.nv-featured .nv-price strong, .nv-card.nv-featured .nv-price .woocommerce-Price-amount { color: #fff; }
.nv-card.nv-featured .nv-os { border-color: rgba(255,255,255,.15); color: #9BA0AB; }
.nv-card.nv-featured .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.25); }

/* ---------- Solutions tabs ---------- */
.nv-tabbar { display: inline-flex !important; background: var(--nv-soft); border: 1px solid var(--nv-line); border-radius: 999px; padding: 5px; gap: 4px !important; flex-wrap: nowrap !important; max-width: 100%; overflow-x: auto; }
.nv-tabbar .wp-block-button__link { background: transparent !important; color: var(--nv-muted) !important; border: 0 !important; padding: 10px 22px !important; font-size: 15px !important; white-space: nowrap; }
.nv-tabbar .wp-block-button.is-active .wp-block-button__link { background: var(--nv-text) !important; color: var(--nv-bg) !important; }
.nv-tabs.is-ready .nv-tabpanel:not(.is-active) { display: none !important; }
.nv-tabvis { border-radius: var(--nv-r-lg); aspect-ratio: 5 / 4; position: relative; overflow: hidden; gap: 22px !important; }
.nv-tabvis.v-biz { background: radial-gradient(70% 70% at 30% 30%, #1B3B7A, #060E22); }
.nv-tabvis.v-lex { background: radial-gradient(70% 70% at 30% 30%, #1E3D73, #081429); }
.nv-tabvis.v-vic { background: radial-gradient(70% 70% at 30% 30%, #6E1219, #2A0508); }
.nv-tabvis.v-pdx { background: radial-gradient(70% 70% at 30% 30%, #6A1240, #16030C); }
.nv-tabvis.v-per { background: radial-gradient(70% 70% at 30% 30%, #2B2160, #0A0818); }
.nv-checks { list-style: none; padding: 0 !important; display: flex; flex-direction: column; gap: 14px; }
.nv-checks li { display: flex; gap: 12px; }
.nv-checks li::before {
	content: ""; flex: none; width: 20px; height: 20px; border-radius: 50%; margin-top: 3px;
	background: var(--nv-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat;
}

/* ---------- Pricing ---------- */
.nv-plan { border: 1px solid var(--nv-line); border-radius: var(--nv-r-lg); padding: 36px !important; display: flex !important; flex-direction: column; background: var(--nv-bg); position: relative; height: 100%; }
.nv-plan > * { margin-block: 0 !important; }
.nv-plan.nv-best { border: 2px solid var(--nv-brand); box-shadow: 0 30px 70px -40px color-mix(in srgb, var(--nv-brand) 60%, transparent); }
.nv-plan .nv-flag { position: absolute; top: -13px; left: 36px; background: var(--nv-brand); color: #fff; font-size: 12px; font-weight: 500; padding: 4px 12px; border-radius: 999px; margin: 0 !important; }
.nv-plan-icons { gap: 6px !important; margin-bottom: 22px !important; min-height: 36px; }
.nv-plan h3 { font-size: 24px; letter-spacing: -.02em; margin-bottom: 6px !important; }
.nv-plan .nv-d { color: var(--nv-muted); font-size: 15px; min-height: 46px; }
.nv-plan .nv-amount { margin-top: 26px !important; font-size: 46px; font-weight: 600; letter-spacing: -.04em; line-height: 1.1; }
.nv-plan .nv-amount .woocommerce-Price-currencySymbol { font-size: .5em; vertical-align: top; margin-right: 2px; }
.nv-plan .nv-per { font-size: 13.5px; color: var(--nv-faint); margin: 4px 0 26px !important; }
.nv-plan .wp-block-buttons .wp-block-button { width: 100%; }
.nv-plan .wp-block-buttons .wp-block-button__link { width: 100%; }
.nv-plan .nv-try { text-align: center; margin-top: 14px !important; font-size: 14px; }
.nv-plan .nv-try a { color: var(--nv-brand); font-weight: 500; text-decoration: none; }
.nv-plan .nv-feats { list-style: none; border-top: 1px solid var(--nv-line); margin-top: 28px !important; padding: 24px 0 0 !important; display: flex; flex-direction: column; gap: 12px; font-size: 15px; color: var(--nv-muted); }
.nv-plan .nv-feats li::before { content: "✓"; color: var(--nv-brand); font-weight: 600; margin-right: 10px; }
.nv-pay { justify-content: center; align-items: center !important; gap: 10px 10px !important; }
.nv-pay p { margin: 0; font-size: 13.5px; color: var(--nv-faint); }
.nv-pay p.nv-pm { font: 500 12px var(--nv-mono); border: 1px solid var(--nv-line); padding: 6px 11px; border-radius: 8px; color: var(--nv-muted); }

/* ---------- Dark band ---------- */
.nv-band { border-radius: var(--nv-r-lg); position: relative; overflow: hidden; isolation: isolate; }
.nv-band::before { content: ""; position: absolute; width: 600px; height: 600px; right: -200px; top: -260px; background: radial-gradient(closest-side, color-mix(in srgb, var(--nv-brand) 45%, transparent), transparent); z-index: -1; pointer-events: none; }
.nv-stats { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.08); border-radius: 20px; overflow: hidden; }
.nv-stats > * { margin: 0 !important; background: var(--wp--preset--color--ink-2); padding: 30px; }
.nv-stats .nv-stat-num { font-size: 44px; font-weight: 600; letter-spacing: -.04em; line-height: 1.1; margin: 0; color: #fff; }
.nv-stats .nv-stat-label { font-size: 14px; color: var(--wp--preset--color--on-ink-muted); margin: 4px 0 0; }

/* ---------- FAQ (Details blocks) ---------- */
.nv-faq .wp-block-details { border-bottom: 1px solid var(--nv-line); padding: 0; margin: 0; }
.nv-faq .wp-block-details summary { list-style: none; cursor: pointer; padding: 26px 0; display: flex; justify-content: space-between; gap: 20px; font-size: 19px; font-weight: 500; letter-spacing: -.01em; }
.nv-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.nv-faq .wp-block-details summary::after { content: ""; width: 12px; height: 12px; flex: none; margin-top: 8px; border-right: 2px solid var(--nv-muted); border-bottom: 2px solid var(--nv-muted); transform: rotate(45deg); transition: transform .25s; }
.nv-faq .wp-block-details[open] summary::after { transform: rotate(-135deg); }
.nv-faq .wp-block-details > :not(summary) { color: var(--nv-muted); padding-bottom: 26px; margin: 0; max-width: 70ch; }

/* ---------- Footer ---------- */
.nv-footer .wp-block-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 11px; color: var(--nv-muted); }
.nv-footer .wp-block-list a { color: inherit; text-decoration: none; }
.nv-footer .wp-block-list a:hover { color: var(--nv-text); text-decoration: underline; }
.nv-footer .nv-foot-rule { margin: 60px 0 24px; border: 0; border-top: 1px solid var(--nv-line); width: 100%; max-width: none; opacity: 1; }
.nv-footer h2, .nv-footer h3, .nv-footer h4, .nv-footer h5 { font-size: 14px !important; font-weight: 600; letter-spacing: 0; }

/* ---------- Generic polish ---------- */
.wp-block-button__link { transition: background-color .2s, border-color .2s, color .2s; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: var(--nv-text); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { filter: brightness(.92); }

/* ---------- WooCommerce ---------- */
.woocommerce-store-notice, p.demo_store { background: var(--nv-ink) !important; }
.wc-block-components-product-price, .wp-block-woocommerce-product-price { font-weight: 600; }
.wp-block-woocommerce-product-image img, .wc-block-components-product-image img { border-radius: 22px; }
.wc-block-product .wp-block-post-title a, .wc-block-grid__product-title, .wc-block-components-product-name,
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--nv-text) !important; font-weight: 600; letter-spacing: -.02em; }
.wc-block-product .wp-block-post-title a:hover { text-decoration: none; opacity: .75; }
/* My Account: wider than the text column, compact menu */
.woocommerce-account .wp-block-post-content > .woocommerce { max-width: 1120px !important; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { padding: 0 !important; margin: 0 !important; border: 0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 9px 14px; border-radius: 10px; text-decoration: none; color: var(--nv-muted); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--nv-soft); color: var(--nv-text); }
.woocommerce table.shop_table { border-radius: 16px; overflow: hidden; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	border-radius: 999px !important; background: var(--nv-brand) !important; color: #fff !important; font-weight: 500 !important; padding: .8em 1.6em !important;
	display: inline-block; line-height: 1.3 !important; text-align: center; text-decoration: none;
}
/* Download buttons in order and download tables: a compact pill that may wrap inside itself */
.woocommerce .woocommerce-table--order-downloads a.button, .woocommerce .woocommerce-MyAccount-downloads a.button,
.woocommerce a.button.woocommerce-MyAccount-downloads-file, .woocommerce .woocommerce-order-downloads a.button {
	padding: .55em 1.1em !important; font-size: 14px; white-space: normal; max-width: 260px;
}
.woocommerce-table--order-downloads td, .woocommerce-MyAccount-downloads td { vertical-align: middle; }
/* Product tabs: the panel heading is a label, not a page title */
.woocommerce-Tabs-panel > h2:first-child { font-size: var(--wp--preset--font-size--x-large) !important; margin-top: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { white-space: nowrap; }
/* Product page: the icon only on the left (screenshots get their own section below) */
.nv-product .woocommerce-product-gallery__image:not(:first-child), .nv-product .flex-control-nav { display: none !important; }
/* The app icon stays small and sits right beside its title. */
.nv-product .woocommerce-product-gallery,
.nv-product > .wp-block-columns .wp-block-image { max-width: 300px; margin-inline: auto; }
.nv-product .woocommerce-product-gallery img,
.nv-product > .wp-block-columns .wp-block-image img { width: 100%; height: auto; }
@media (min-width: 782px) {
	.nv-product > .wp-block-columns { justify-content: center; gap: 56px !important; }
	.nv-product > .wp-block-columns > .wp-block-column:first-child { flex: 0 0 300px !important; }
	.nv-product > .wp-block-columns > .wp-block-column:last-child { flex: 0 1 580px !important; }
}
.nv-shots { margin-top: 90px; }
.nv-shots__title { font-size: var(--wp--preset--font-size--xx-large) !important; margin: 14px 0 28px !important; }
.nv-shots__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.nv-shots__item { margin: 0; }
.nv-shots__item a { display: block; border-radius: 16px; overflow: hidden; border: 1px solid var(--nv-line); background: var(--nv-soft); cursor: zoom-in; }
.nv-shots__item img { display: block; width: 100%; height: auto; transition: transform .3s; }
.nv-shots__item a:hover img { transform: scale(1.015); }
.nv-shots__item figcaption { margin-top: 10px; font-size: 14px; color: var(--nv-muted); }
.nv-lightbox { border: 0; padding: 0; background: transparent; max-width: 96vw; max-height: 94vh; overflow: visible; }
.nv-lightbox::backdrop { background: rgba(6, 7, 10, .88); }
.nv-lightbox img { display: block; max-width: 96vw; max-height: 86vh; width: auto; height: auto; border-radius: 12px; margin: 0 auto; }
.nv-lightbox p { color: #E8EAEE; text-align: center; margin: 12px 0 0; font-size: 14px; }
.nv-lightbox button { position: fixed; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 22px; cursor: pointer; }
.nv-lightbox button:hover { background: rgba(255,255,255,.26); }
.nv-lightbox .nv-lb-prev { left: 16px; } .nv-lightbox .nv-lb-next { right: 16px; }
.nv-lightbox .nv-lb-close { top: 34px; right: 16px; transform: none; }
@media (max-width: 640px) { .nv-shots__grid { grid-template-columns: 1fr; } .nv-shots { margin-top: 56px; } }
/* Product description: a real write-up, laid out like an article */
.woocommerce-Tabs-panel--description h3 { font-size: var(--wp--preset--font-size--x-large); margin: 34px 0 10px; }
.woocommerce-Tabs-panel--description ul { padding-left: 1.2em; display: flex; flex-direction: column; gap: 6px; color: var(--nv-muted); }
/* "Download free trial" under the buy button (NORVÉA Licensing plugin) */
.nvl-trial { margin: 14px 0 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.nvl-trial__link { display: inline-block; padding: 12px 22px; border: 1px solid var(--nv-line); border-radius: 999px; color: var(--nv-text) !important; font-weight: 500; text-decoration: none !important; }
.nvl-trial__link:hover { border-color: var(--nv-text); }
.nvl-trial__note { font-size: 13px; color: var(--nv-faint); }
/* Shop grid: app icons at a calm size inside bordered cards */
.wc-block-product-template > li.wc-block-product { border: 1px solid var(--nv-line); border-radius: 22px; padding: 26px 20px; text-align: center; }
.wc-block-product .wc-block-components-product-image { max-width: 168px; margin: 0 auto 16px !important; }
.wc-block-product .wc-block-components-product-image img { border-radius: 26px; }
.wc-block-product .wp-block-button__link, .wc-block-product .wc-block-components-product-button__button { white-space: nowrap; padding: 10px 16px !important; font-size: 14px !important; }
@media (max-width: 640px) {
	.wc-block-product-template > li.wc-block-product { padding: 18px 10px; }
	.wc-block-product .wc-block-components-product-image { max-width: 120px; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.nv-band { padding: 56px !important; }
	.nv-stage { padding: 48px 40px 0 !important; }
	.nv-bento { grid-template-columns: 1fr 1fr; }
	.nv-span-3, .nv-span-4, .nv-span-6 { grid-column: span 2; }
	.nv-span-2 { grid-column: span 1; }
	.nv-bento .is-style-tile-pdx, .nv-bento .is-style-tile-adh { grid-column: span 2; }
	.nv-grid { grid-template-columns: 1fr 1fr; }
	.nv-win .body { grid-template-columns: 1fr; }
	.nv-win .side { display: none; }
}
@media (max-width: 640px) {
	.nv-bento { grid-template-columns: 1fr; }
	.nv-bento > * { grid-column: auto !important; }
	[class*="is-style-tile-"] { padding: 28px !important; min-height: 0; }
	.nv-grid { grid-template-columns: 1fr; }
	.nv-strip { gap: 18px 8px; }
	.nv-strip > .wp-block-group { min-width: 84px; }
	.nv-strip > .wp-block-group > p:not([class*="is-style-app-"]) { font-size: 12.5px; }
	.nv-strip p[class*="is-style-app-"] { width: 64px; height: 64px; font-size: 26px; border-radius: 16px; }
	.nv-win .kpis { grid-template-columns: 1fr 1fr; }
	.nv-win .tr { grid-template-columns: 1.4fr 1fr .9fr; }
	.nv-win .tr > :nth-child(2) { display: none; }
	.nv-win .main { padding: 16px; }
	.nv-tabvis p[class*="is-style-app-"] { width: 80px; height: 80px; font-size: 32px; border-radius: 20px; }
	.nv-plan { padding: 28px !important; }
	.nv-plan .wp-block-button__link { white-space: nowrap; }
	.nv-band { padding: 36px 22px !important; }
	.nv-stage { padding: 28px 14px 0 !important; }
	.nv-stats > * { padding: 20px 16px; }
	.nv-stats .nv-stat-num { font-size: 30px; }
	.nv-stats .nv-stat-label { font-size: 13px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: row; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { padding: 7px 12px; background: var(--nv-soft); font-size: 14px; }
}

/* ---------- Editor only: show every tab panel and catalog card while editing ---------- */
.editor-styles-wrapper .nv-tabpanel { display: flex !important; outline: 1px dashed var(--nv-line); outline-offset: 8px; margin-bottom: 40px !important; }
.editor-styles-wrapper .nv-card.is-hidden { display: flex !important; }

/* ------------------------------------------------------------------ 1.1: AG CUSTOS, SADA */
p.is-style-app-cus { --nv-fg: var(--wp--preset--color--app-cus); }
p.is-style-app-sad { --nv-fg: var(--wp--preset--color--app-sad); }
.is-style-tile-cus { background: #0B0B0E; color: #FBEBDD; --nv-tile-accent: var(--wp--preset--color--app-cus); }
.is-style-tile-sad { background: #0B0B0E; color: #E3F4FF; --nv-tile-accent: var(--wp--preset--color--app-sad); }
.nv-soon { display: inline-block; font-size: 12px; font-weight: 500; padding: 3px 10px; border-radius: 999px; background: color-mix(in srgb, var(--nv-brand) 14%, transparent); color: var(--nv-brand); }

/* Language switch (header) */
.nv-lang a { font-size: 14px; font-weight: 500; text-decoration: none; padding: 6px 10px; border: 1px solid var(--wp--preset--color--line, #e3e5ea); border-radius: 999px; color: inherit; white-space: nowrap; }
.nv-lang a:hover { border-color: currentColor; }

/* ------------------------------------------------------------------ Arabic site (/ar/, right to left) */
body.nv-ar, body.nv-ar input, body.nv-ar textarea, body.nv-ar select, body.nv-ar button,
body.nv-ar .wp-element-button, body.nv-ar h1, body.nv-ar h2, body.nv-ar h3, body.nv-ar h4 {
	font-family: var(--wp--preset--font-family--plex-arabic);
}
body.nv-ar { --nv-mono: var(--wp--preset--font-family--plex-arabic); }
/* Negative letter-spacing breaks the joining of Arabic letters. */
body.nv-ar, body.nv-ar h1, body.nv-ar h2, body.nv-ar h3, body.nv-ar h4, body.nv-ar p, body.nv-ar li, body.nv-ar a, body.nv-ar .nv-kicker, body.nv-ar .wp-element-button { letter-spacing: normal !important; }
body.nv-ar h1, body.nv-ar h2 { line-height: 1.35; }
body.nv-ar p, body.nv-ar li { line-height: 1.85; }
/* App names, prices, codes and the logo stay left to right inside Arabic text. */
body.nv-ar p[class*="is-style-app-"], body.nv-ar .woocommerce-Price-amount, body.nv-ar code, body.nv-ar .nv-ltr { direction: ltr; unicode-bidi: isolate; }
body.nv-ar .nv-art .tables { margin-left: 0; margin-right: auto; }
body.nv-ar .nv-card .nv-price strong, body.nv-ar .nv-card .nv-price .amount, body.nv-ar .nv-card .nv-price .woocommerce-Price-amount { margin-left: 0; margin-right: 4px; }
body.nv-ar .nv-plan .nv-flag { left: auto; right: 36px; }
body.nv-ar .nv-plan .nv-feats li::before { margin-right: 0; margin-left: 10px; }
body.nv-ar .nv-band::before { right: auto; left: -200px; }
body.nv-ar .wp-block-list, body.nv-ar .woocommerce-Tabs-panel--description ul { padding-left: 0; padding-right: 1.2em; }
body.nv-ar .nv-faq .wp-block-details summary { text-align: right; }

/* ------------------------------------------------------------------ News bar above the header (template part "Announcement") */
.nv-ticker-part { margin: 0 !important; }
.nv-ticker { background: #0B0B0E; color: #F1F2F4; overflow: hidden; font-size: 14px; line-height: 1.4; margin: 0 !important; }
.nv-ticker a { color: #FF8A5C; text-decoration: underline; text-underline-offset: 3px; }
.nv-ticker strong { color: #fff; }
.nv-ticker .nv-ticker__items, body.nv-ar .nv-ticker .nv-ticker__items { display: flex; gap: 64px; list-style: none; margin: 0; padding: 9px 32px !important; white-space: nowrap; flex: none; }
.nv-ticker .nv-ticker__items li { margin: 0; }
.nv-ticker .nv-ticker__items li::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--nv-brand); margin-inline-end: 10px; vertical-align: 2px; }
.nv-ticker__track { display: flex; width: max-content; animation: nv-ticker var(--nv-ticker-duration, 40s) linear infinite; }
.nv-ticker:hover .nv-ticker__track, .nv-ticker:focus-within .nv-ticker__track { animation-play-state: paused; }
[dir="rtl"] .nv-ticker__track { animation-name: nv-ticker-rtl; }
@keyframes nv-ticker { to { transform: translateX(-50%); } }
@keyframes nv-ticker-rtl { to { transform: translateX(50%); } }
@media (prefers-reduced-motion: reduce) {
	.nv-ticker__track { animation: none; }
	.nv-ticker { overflow-x: auto; }
}

/* ------------------------------------------------------------------ Reveal on scroll (assets/js/norvea.js adds the classes) */
.nv-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--nv-reveal-delay, 0ms); }
.nv-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .nv-reveal { opacity: 1; transform: none; transition: none; } }

/* ------------------------------------------------------------------ WhatsApp button (icon + label, the number is never shown) */
.nv-wa-wrap { margin: 18px 0 !important; }
.nv-wa { display: inline-flex; align-items: center; gap: 10px; padding: 12px 22px; border-radius: 999px; background: #25D366; color: #0B2E17 !important; font-weight: 600; text-decoration: none !important; transition: transform .2s, box-shadow .2s, background-color .2s; }
.nv-wa:hover { background: #1fbd5a; transform: translateY(-2px); box-shadow: 0 12px 26px -14px rgba(37,211,102,.9); }
.nv-wa:focus-visible { outline: 3px solid #0B2E17; outline-offset: 3px; }
.nv-wa svg { flex: none; }

/* Logo sits at the start edge: far left in English, far right in Arabic. */
.nv-footer .nv-logo, .nv-header .nv-logo { display: flex; justify-content: flex-start; }
.nv-logo svg { margin: 0; }
