:root {
    --omni-surface: #ffffff;
    --omni-surface-soft: #f5f8fc;
    --omni-text: #172033;
    --omni-muted: #667085;
    --omni-border: #e4eaf2;
    --omni-shadow-sm: 0 8px 24px rgba(21, 35, 56, .07);
    --omni-shadow-md: 0 18px 50px rgba(21, 35, 56, .11);
    --omni-radius-sm: .75rem;
    --omni-radius: 1.1rem;
    --omni-radius-lg: 1.5rem;
}

[data-theme-style="dark"] {
    --omni-surface: #121722;
    --omni-surface-soft: #181f2c;
    --omni-text: #f4f7fb;
    --omni-muted: #a8b2c3;
    --omni-border: #293243;
    --omni-shadow-sm: 0 8px 24px rgba(0, 0, 0, .22);
    --omni-shadow-md: 0 18px 50px rgba(0, 0, 0, .32);
}

html { scroll-behavior: smooth; }
body { color: var(--omni-text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, "Noto Sans Arabic", sans-serif; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid var(--primary-300);
    outline-offset: 3px;
    box-shadow: none !important;
}

.omni-navbar-shell { position: relative; z-index: 1040; }
.navbar-main {
    min-height: 4.75rem;
    border-color: var(--omni-border) !important;
    border-radius: var(--omni-radius-lg) !important;
    box-shadow: var(--omni-shadow-sm);
}
.navbar-main .nav-link { border-radius: .7rem; font-weight: 500; }
.navbar-main .nav-link:hover { background: var(--omni-surface-soft); text-decoration: none; }
.navbar-main .omni-nav-highlight { color: var(--primary) !important; background: var(--primary-50); }
.omni-nav-action { min-width: 2.65rem; min-height: 2.65rem; display: flex; align-items: center; justify-content: center; }
.omni-nav-action.btn { width: 100%; }
.omni-categories-menu { width: 22rem; padding: .6rem; border: 1px solid var(--omni-border); border-radius: var(--omni-radius); box-shadow: var(--omni-shadow-md); }
.omni-category-menu-item { display: flex; align-items: center; gap: .75rem; padding: .7rem .75rem; border-radius: .65rem; }
.omni-category-menu-icon { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; color: var(--primary); background: var(--primary-50); border-radius: .55rem; }

.omni-hero {
    position: relative;
    overflow: hidden;
    padding: 4rem 0 6rem;
    background:
        radial-gradient(circle at 18% 18%, rgba(38, 171, 224, .13), transparent 30%),
        radial-gradient(circle at 82% 10%, rgba(80, 93, 220, .10), transparent 28%),
        linear-gradient(180deg, var(--omni-surface-soft), rgba(255, 255, 255, 0));
}
[data-theme-style="dark"] .omni-hero { background: radial-gradient(circle at 20% 10%, rgba(38, 171, 224, .16), transparent 30%), linear-gradient(180deg, #151c28, #090b10); }
.omni-hero::after {
    content: "";
    position: absolute;
    width: 26rem;
    height: 26rem;
    inset-inline-end: -12rem;
    top: -14rem;
    border: 1px solid rgba(38, 171, 224, .15);
    border-radius: 50%;
    pointer-events: none;
}
.omni-hero .container { position: relative; z-index: 1; }
.omni-hero-title { max-width: 14ch; margin-inline: auto; font-size: clamp(2.35rem, 5.4vw, 4.3rem); line-height: 1.06; letter-spacing: -.035em; }
.omni-hero-subtitle { max-width: 44rem; margin-inline: auto; color: var(--omni-muted); font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.7; }
.omni-hero-actions .btn { min-height: 3.15rem; padding-inline: 1.4rem; border-radius: .8rem; font-weight: 600; }
.omni-hero-shortcuts { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem; max-width: 62rem; margin-inline: auto; }
.omni-hero-shortcuts-label { color: var(--omni-muted); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.omni-hero-chip { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.35rem; padding: .45rem .75rem; color: var(--omni-text); background: var(--omni-surface); border: 1px solid var(--omni-border); border-radius: 999px; box-shadow: 0 4px 12px rgba(21, 35, 56, .04); font-size: .82rem; font-weight: 600; }
.omni-hero-chip:hover { color: var(--primary); border-color: var(--primary-300); text-decoration: none; transform: translateY(-1px); }

.omni-home-search { position: relative; z-index: 10; margin-top: -4.2rem; }
.omni-home-search .omnitools-search-wrap { margin-bottom: 3rem !important; }
.omni-home-search .card { border: 1px solid var(--omni-border) !important; border-radius: var(--omni-radius-lg); box-shadow: var(--omni-shadow-md) !important; }
.omni-home-search .omnitools-search-input { min-height: 3.6rem; border-radius: .85rem; border-color: var(--omni-border); }

.app-footer { margin-top: 5rem; padding: 2.5rem 0 1.5rem; border-top: 1px solid var(--omni-border); }
.omni-footer-top { padding-bottom: 1.25rem; border-bottom: 1px solid var(--omni-border); }
.omni-footer-grid { padding-top: 1rem; }
.app-footer a { color: var(--omni-muted); }
.app-footer a:hover { color: var(--primary); text-decoration: none; }

@media (max-width: 991.98px) {
    .navbar-main { min-height: 4.35rem; }
    .navbar-main .navbar-collapse { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--omni-border); }
    .navbar-main .nav-link { min-height: 2.9rem; padding: .7rem .8rem; }
    .omni-nav-action { justify-content: flex-start; }
    .omni-categories-menu { width: 100%; box-shadow: none; }
}

@media (max-width: 575.98px) {
    .omni-navbar-shell { padding-inline: .75rem; }
    .navbar-main > .container { padding-inline: .75rem; }
    .navbar-logo { max-width: 7.75rem; }
    .omni-hero { padding: 2.6rem 0 5.4rem; }
    .omni-hero-title { font-size: clamp(2.25rem, 12vw, 3.25rem); line-height: 1.08; }
    .omni-hero-subtitle { font-size: 1rem; line-height: 1.65; }
    .omni-hero-actions .btn { width: 100%; }
    .omni-hero-shortcuts { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; margin-inline: -.75rem; padding: .15rem .75rem .7rem; scrollbar-width: thin; scroll-snap-type: x proximity; }
    .omni-hero-shortcuts-label { display: none; }
    .omni-hero-chip { flex: 0 0 auto; scroll-snap-align: start; }
    .omni-home-search { margin-top: -4.25rem; }
    .omni-home-search .omnitools-search-wrap { padding-inline: .75rem; }
    .omni-home-search .card-body { padding: 1.15rem !important; }
    .omni-home-search h2 { font-size: 1.1rem; }
    .app-footer { margin-top: 3.5rem; }
}

[dir="rtl"] .omni-hero-title { letter-spacing: 0; }
[dir="rtl"] .navbar-main .dropdown-menu { text-align: right; }
[dir="rtl"] .omni-category-menu-item { flex-direction: row; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
