/* ===================================================
   
HEME MODE (OBEJORDEV)
   File: public/assets/front/css/theme-mode.css
   Purpose:
   - Master palette (whole site)
   - Navbar premium look
   - Dropdown ALWAYS white (even in dark)
   - Reusable tokens for future pages
   =================================================== */
:root {
    /* ✅ Brand palette (adjust here once, whole site updates) */
    --brand-primary: #08418E;
    --brand-primary-hover: #0848B3;
    --brand-secondary: #31B8EF;

    /* Neutral tokens */
    --text-dark: #0b1220;
    --text-light: rgba(255, 255, 255, .92);

    --glass-bg: rgba(11, 87, 208, .92);
    --glass-accent: rgba(49, 184, 239, .35);

    --radius-lg: 14px;

    /* Dropdown */
    --dropdown-radius: 14px;
    --dropdown-border: rgba(11, 87, 208, .18);
    --dropdown-shadow: 0 18px 40px rgba(0, 0, 0, .18);

    /* ✅ Used for no layout shift */
    --nav-offset: 0px;
}

/* ===================================================
   OPTIONAL: Global base tweaks per theme
   =================================================== */
html[data-bs-theme="dark"] body {
    /* keep bootstrap dark mode but avoid extra harshness */
}

html[data-bs-theme="light"] body {}

html {
    scroll-behavior: smooth;
}

/* ✅ Prevent layout shift when nav is fixed */
body {
    padding-top: var(--nav-offset);
}

/* ===================================================
   NAVBAR (Premium Glass)
   =================================================== */
/* ✅ FIX: DO NOT override fixed-top with position: relative
   Keep navbar fixed always. We animate using .is-sticky class. */
#main-nav.st-nav {
    background: linear-gradient(135deg, var(--glass-bg) 0%, var(--glass-accent) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 12px 35px rgba(0, 0, 0, .18);

    position: fixed;
    /* ✅ changed from relative */
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1030;

    /* ✅ smooth animation */
    transition:
        transform 260ms ease,
        opacity 260ms ease,
        background 260ms ease,
        box-shadow 260ms ease,
        border-color 260ms ease,
        backdrop-filter 260ms ease;
    will-change: transform, opacity;

    /* ✅ initial state (top) */
    transform: translateY(-8px);
    opacity: 0.98;
}

/* ✅ sticky state on scroll */
#main-nav.st-nav.is-sticky {
    transform: translateY(0);
    opacity: 1;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    #main-nav.st-nav {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* Accent line under navbar */
#main-nav.st-nav::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--brand-secondary), transparent);
    opacity: .9;
}

/* Navbar links */
#main-nav .nav-link {
    color: var(--text-light) !important;
    font-weight: 600;

}

#main-nav .dark-toggle {
    background: var(--btn-brand-bg) !important;
    box-shadow: var(--btn-brand-shadow);
}

#main-nav .dark-toggle:hover {
    transform: translateY(-1px);
    filter: brightness(.98);
    box-shadow: 0 18px 38px rgba(49, 184, 239, .33);
}

#main-nav .nav-link:hover {
    color: #fff !important;
    text-shadow: 0 0 18px rgba(49, 184, 239, .45);
}

/* Theme toggle button style */
#dc-theme {
    border-radius: 999px;
    padding: .5rem .75rem !important;
    background: rgba(255, 255, 255, .12);
}

#dc-theme:hover {
    background: rgba(255, 255, 255, .18);
}

/* Ensure toggle icon/text stays visible */
#dc-theme,
#dc-theme * {
    color: rgba(255, 255, 255, .92) !important;
}

/* ===================================================
   Navbar buttons (RIGHT SIDE) — dark colors
   (logic unchanged, just styles)
   =================================================== */
#main-nav .btn-primary,
#main-nav .btn-light {
    /* background: #06304B !important; */
    background: var(--btn-brand-bg) !important;

    border: 1px solid rgba(255, 255, 255, .20) !important;
    color: rgba(255, 255, 255, .94) !important;
    font-weight: 700;
    font-size: 18px;
    border-radius: 999px;
    padding: .45rem 1.35rem;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}

#main-nav .btn-primary:hover,
#main-nav .btn-light:hover {
    /* background: #0b1220 !important;
    border-color: rgba(255, 255, 255, .28) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, .22);
    transform: translateY(-1px); */
    transform: translateY(-1px);
    filter: brightness(.98);
    box-shadow: 0 18px 38px rgba(49, 184, 239, .33);
}

/* ===================================================
   DROPDOWN MENU (ALWAYS WHITE)
   =================================================== */
#main-nav .dropdown-menu {
    background: #ffffff !important;
    border: 1px solid var(--dropdown-border) !important;
    border-radius: var(--dropdown-radius) !important;
    overflow: hidden;
    box-shadow: var(--dropdown-shadow);
    transform-origin: top right;
}

/* Dropdown items */
#main-nav .dropdown-menu .dropdown-item {
    color: var(--text-dark) !important;
    font-weight: 650;
}

#main-nav .dropdown-menu .dropdown-item:hover {
    background: rgba(49, 184, 239, .14) !important;
    color: var(--brand-primary) !important;
}

/* Active dropdown item */
#main-nav .dropdown-menu .dropdown-item.active,
#main-nav .dropdown-menu .dropdown-item[aria-pressed="true"] {
    background: rgba(11, 87, 208, .10) !important;
    color: var(--brand-primary) !important;
}

/* Icons inside dropdown */
#main-nav .dropdown-menu .theme-icon {
    color: var(--brand-primary) !important;
}

html[data-bs-theme="dark"] #main-nav .st-dropdown-root h4.text-gradient,
html[data-bs-theme="dark"] #main-nav .st-dropdown-root h4.text-gradient * {
    color: rgba(255, 255, 255, .92) !important;
}

html[data-bs-theme="light"] #main-nav .st-dropdown-root h4.text-gradient,
html[data-bs-theme="light"] #main-nav .st-dropdown-root h4.text-gradient * {
    color: var(--brand-primary) !important;
}



/* ===================================================
   HERO (Modern SaaS) - Works in Light/Dark
   Fixes:
   - Typed pill width fixed (no layout shaking)
   - Brand button (no orange)
   - Proper section spacing + responsive
   =================================================== */

:root {
    --hero-pill-bg: rgba(49, 184, 239, .14);
    --hero-pill-border: rgba(49, 184, 239, .35);
    --hero-title: #0b1220;
    --hero-text: #445069;

    /* Brand button */
    --btn-brand-bg: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    --btn-brand-shadow: 0 14px 30px rgba(49, 184, 239, .28);
}

/* Dark mode tuning */
html[data-bs-theme="dark"] {
    --hero-title: rgba(255, 255, 255, .96);
    --hero-text: rgba(255, 255, 255, .75);
    --hero-pill-bg: rgba(49, 184, 239, .12);
    --hero-pill-border: rgba(49, 184, 239, .25);
}

/* Section container */
.hero-saas {
    padding: 0 110px 0 70px;
    position: relative;
    overflow: hidden;
}

html[data-bs-theme="light"] .hero-saas {
    background: radial-gradient(900px 500px at 20% 10%, rgba(49, 184, 239, .18), transparent 60%),
        radial-gradient(900px 500px at 70% 30%, rgba(8, 65, 142, .12), transparent 55%);
}

html[data-bs-theme="dark"] .hero-saas {
    background: radial-gradient(900px 500px at 20% 10%, rgba(49, 184, 239, .10), transparent 60%),
        radial-gradient(900px 500px at 70% 30%, rgba(8, 65, 142, .22), transparent 55%);
}

/* Left content */
.hero-eyebrow {
    letter-spacing: .12em;
    color: var(--brand-secondary);
}

.hero-title {
    font-weight: 800;
    line-height: 1.05;
    color: var(--hero-title);
    font-size: clamp(2rem, 3vw, 3rem);
    margin: 0;
}

.hero-desc {
    color: var(--hero-text);
    font-size: 1.05rem;
    max-width: 42ch;
}

/* ✅ The pill wrapper (fixed width so typing doesn’t move the layout) */
.hero-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* padding: .28rem .75rem; */
    border-radius: 18px;
    background: var(--hero-pill-bg);
    border: 1px solid var(--hero-pill-border);
    vertical-align: baseline;

    /* IMPORTANT: stop layout shifting */
    min-width: 14.5ch;
    /* enough for "customer care" */
    white-space: nowrap;
}

/* typed text inside pill */
.hero-pill .typed {
    font-weight: 800;
    color: var(--brand-primary);
    display: inline-block;
}

/* If typed.js adds a cursor, keep it stable */
.hero-pill .typed-cursor {
    opacity: .6;
    margin-left: .15rem;
}

/* Bullets */
.hero-list li {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: .65rem 0;
    font-weight: 650;
    color: var(--hero-title);
}

html[data-bs-theme="dark"] .hero-list li {
    color: rgba(255, 255, 255, .88);
}

.hero-list i {
    color: var(--brand-secondary);
    font-size: 1.15rem;
}

/* Brand button (no orange anywhere) */
.btn-brand {
    background: var(--btn-brand-bg) !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 800;
    border-radius: 999px;
    padding: .85rem 1.35rem;
    box-shadow: var(--btn-brand-shadow);
}

.btn-brand:hover {
    transform: translateY(-1px);
    filter: brightness(.98);
    box-shadow: 0 18px 38px rgba(49, 184, 239, .33);
}

/* Trust text */
.hero-trust {
    color: var(--hero-text);
    font-size: .95rem;
}

/* Right preview card */
.hero-preview {
    border-radius: 22px;
    overflow: hidden;
    background: rgba(255, 255, 255, .75);
    border: 1px solid rgba(0, 0, 0, .06);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .12);
}

html[data-bs-theme="dark"] .hero-preview {
    background: rgba(8, 20, 38, .55);
    border: 1px solid rgba(255, 255, 255, .10);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .45);
}

.hero-preview-top {
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .75rem .9rem;
    border-bottom: 1px solid rgba(0, 0, 0, .06);
}

html[data-bs-theme="dark"] .hero-preview-top {
    border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.hero-preview-top .dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .18);
}

html[data-bs-theme="dark"] .hero-preview-top .dot {
    background: rgba(255, 255, 255, .18);
}

.hero-preview-label {
    font-weight: 700;
    color: var(--hero-text);
    font-size: .95rem;
}

.hero-preview-img {
    display: block;
    width: 100%;
    height: auto;
}

/* Responsive spacing */
@media (max-width: 991.98px) {
    .hero-saas {
        padding: 95px 0 55px;
    }
}

.hero-nowrap {
    white-space: nowrap;
}

.hero-pill {
    min-width: unset !important;
    padding: .28rem .75rem;
}

@media (max-width: 576px) {
    .hero-nowrap {
        white-space: normal;
    }
}


/* ========================================================= */

/* ===================================================
   OBEJORDEV ABOUT + STATS SECTION
   File: public/assets/front/css/theme-mode.css
   Uses: --brand-primary, --brand-secondary
   =================================================== */

.obe-about-stats {
    position: relative;
    overflow: hidden;
}

.obe-about-stats::before {
    content: "";
    position: absolute;
    inset: -40% -30%;
    background:
        radial-gradient(circle at 20% 30%, rgba(49, 184, 239, .22), transparent 55%),
        radial-gradient(circle at 80% 60%, rgba(8, 65, 142, .18), transparent 55%);
    pointer-events: none;
}

html[data-bs-theme="dark"] .obe-about-stats::before {
    background:
        radial-gradient(circle at 20% 30%, rgba(49, 184, 239, .16), transparent 55%),
        radial-gradient(circle at 80% 60%, rgba(49, 184, 239, .10), transparent 55%);
}

/* Left content */
.obe-about-badge {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .55rem .85rem;
    border-radius: 999px;
    background: rgba(49, 184, 239, .14);
    color: var(--brand-primary);
    border: 1px solid rgba(49, 184, 239, .25);
}

html[data-bs-theme="dark"] .obe-about-badge {
    background: rgba(49, 184, 239, .10);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .92);
}

.obe-about-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .6);
}

html[data-bs-theme="dark"] .obe-about-icon {
    background: rgba(255, 255, 255, .08);
}

.obe-about-title {
    font-size: clamp(1.65rem, 2.2vw, 2.15rem);
    letter-spacing: -.02em;
}

.obe-about-lead {
    font-size: 1.05rem;
    line-height: 1.75;
    color: rgba(11, 18, 32, .78);
}

html[data-bs-theme="dark"] .obe-about-lead {
    color: rgba(255, 255, 255, .72);
}

.obe-about-points {
    display: grid;
    gap: .7rem;
}

.obe-point {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    color: rgba(11, 18, 32, .80);
}

html[data-bs-theme="dark"] .obe-point {
    color: rgba(255, 255, 255, .75);
}

.obe-point i {
    color: var(--brand-secondary);
    margin-top: .15rem;
}

/* Stat cards */
.obe-stat-card {
    border-radius: 18px;
    padding: 18px 18px 16px;
    background: #fff;
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    position: relative;
    overflow: hidden;
    will-change: transform;
}

.obe-stat-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 46px rgba(0, 0, 0, .10);
    border-color: rgba(49, 184, 239, .40);
}

html[data-bs-theme="dark"] .obe-stat-card {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .25);
}

.obe-stat-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.obe-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(49, 184, 239, .12);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-stat-icon {
    background: rgba(49, 184, 239, .10);
    color: rgba(255, 255, 255, .92);
}

.obe-stat-chip {
    font-size: .78rem;
    font-weight: 700;
    padding: .25rem .6rem;
    border-radius: 999px;
    background: rgba(8, 65, 142, .07);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-stat-chip {
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .86);
}

.obe-stat-value {
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: -.02em;
    color: var(--brand-primary);
    line-height: 1.05;
}

html[data-bs-theme="dark"] .obe-stat-value {
    color: #fff;
}

.obe-stat-suffix {
    font-size: 1.2rem;
    font-weight: 900;
    opacity: .9;
    margin-left: .1rem;
}

.obe-stat-label {
    margin-top: .35rem;
    font-weight: 600;
    color: rgba(11, 18, 32, .70);
}

html[data-bs-theme="dark"] .obe-stat-label {
    color: rgba(255, 255, 255, .70);
}

/* Highlight card */
.obe-stat-card--highlight {
    background: linear-gradient(135deg, var(--brand-primary) 0%, rgba(49, 184, 239, .92) 100%);
    border-color: transparent;
}

.obe-stat-card--highlight .obe-stat-icon {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.obe-stat-card--highlight .obe-stat-chip {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.obe-stat-card--highlight .obe-stat-value,
.obe-stat-card--highlight .obe-stat-label {
    color: #fff;
}

/* Foot */
.obe-stat-foot {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem 1.2rem;
    justify-content: flex-start;
    color: rgba(11, 18, 32, .70);
    font-weight: 600;
}

html[data-bs-theme="dark"] .obe-stat-foot {
    color: rgba(255, 255, 255, .70);
}

.obe-stat-foot i {
    color: var(--brand-secondary);
    margin-right: .35rem;
}

/* Mobile spacing */
@media (max-width: 991.98px) {
    .obe-stat-foot {
        justify-content: center;
    }
}

/* ============================================== */
/* ===================================================
   INDEX SECTION: OBE SUITE (Premium Feature + Image)
   Uses brand variables from theme-mode.css
   =================================================== */

.obe-suite {
    overflow: hidden;
}

.obe-pill {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .85rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: .85rem;
    border: 1px solid rgba(49, 184, 239, .25);
    background: rgba(49, 184, 239, .10);
    color: var(--brand-secondary);
}

.obe-suite__title {
    letter-spacing: -0.02em;
    line-height: 1.15;
}

.obe-suite__desc {
    font-size: 1.05rem;
    line-height: 1.7;
}

.obe-suite__cards {
    display: grid;
    gap: 14px;
}

.obe-suite-card {
    display: flex;
    gap: 14px;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, .10);
    background: rgba(255, 255, 255, .06);
    backdrop-filter: blur(10px);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

html[data-bs-theme="light"] .obe-suite-card {
    background: #ffffff;
    border-color: rgba(11, 87, 208, .10);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}

html[data-bs-theme="dark"] .obe-suite-card {
    background: rgba(7, 31, 62, .65);
    border-color: rgba(255, 255, 255, .10);
}

.obe-suite-card:hover {
    transform: translateY(-3px);
    border-color: rgba(49, 184, 239, .35);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .12);
}

.obe-suite-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    color: var(--brand-secondary);
    flex: 0 0 auto;
}

.obe-suite-card__title {
    margin: 0;
    font-weight: 800;
    color: inherit;
}

.obe-suite-card__text {
    margin: .2rem 0 0;
    color: rgba(255, 255, 255, .70);
    line-height: 1.55;
    font-size: .95rem;
}

html[data-bs-theme="light"] .obe-suite-card__text {
    color: #6b7280;
}

.obe-btn-primary {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    border: none;
    color: #fff !important;
    font-weight: 800;
    border-radius: 999px;
    padding: .75rem 1.15rem;
    box-shadow: 0 14px 36px rgba(49, 184, 239, .25);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.obe-btn-primary:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 18px 44px rgba(49, 184, 239, .35);
}

/* Preview image card */
.obe-suite__preview {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    background: rgba(255, 255, 255, .06);
    box-shadow: 0 26px 70px rgba(0, 0, 0, .18);
    transform: translateZ(0);
}

html[data-bs-theme="light"] .obe-suite__preview {
    background: #ffffff;
    border-color: rgba(11, 87, 208, .10);
    box-shadow: 0 22px 60px rgba(0, 0, 0, .10);
}

.obe-suite__img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 22px;
}

/* Soft glow behind image */
.obe-suite__glow {
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 30% 20%, rgba(49, 184, 239, .35), transparent 55%),
        radial-gradient(circle at 70% 60%, rgba(11, 87, 208, .25), transparent 55%);
    pointer-events: none;
    filter: blur(18px);
    opacity: .9;
}

/* Smooth entrance animation (no shaking) */
@media (prefers-reduced-motion: no-preference) {

    .obe-suite-card,
    .obe-suite__preview {
        animation: obeFadeUp .6s ease both;
    }

    .obe-suite__preview {
        animation-delay: .08s;
    }

    .obe-suite-card:nth-child(2) {
        animation-delay: .06s;
    }

    .obe-suite-card:nth-child(3) {
        animation-delay: .12s;
    }
}

@keyframes obeFadeUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive tweaks */
@media (max-width: 991.98px) {
    .obe-suite__desc {
        font-size: 1rem;
    }

    .obe-suite__preview {
        margin-top: .25rem;
    }
}

/* ================================================================ */
/* ===================================================
   OBE TESTIMONIALS (No Swiper)
   File: public/assets/front/css/theme-mode.css
   =================================================== */

:root {
    --obe-primary: var(--brand-primary, #08418E);
    --obe-primary-hover: var(--brand-primary-hover, #0848B3);
    --obe-secondary: var(--brand-secondary, #31B8EF);

    --obe-radius-xl: 22px;
    --obe-radius-lg: 18px;
    --obe-shadow: 0 22px 70px rgba(0, 0, 0, .10);
    --obe-shadow-hover: 0 28px 85px rgba(0, 0, 0, .14);
}

/* Fade-in on scroll */
.obe-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .7s ease, transform .7s ease;
}

.obe-reveal.is-in {
    opacity: 1;
    transform: translateY(0);
}

/* Section heading */
.obe-testimonials {
    position: relative;
    overflow: hidden;
}

.obe-testi-head {
    text-align: center;
    margin-bottom: 22px;
}

.obe-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(49, 184, 239, .14);
    border: 1px solid rgba(49, 184, 239, .22);
    color: var(--obe-primary);
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .72rem;
}

html[data-bs-theme="dark"] .obe-badge {
    color: rgba(255, 255, 255, .88);
    background: rgba(49, 184, 239, .10);
    border-color: rgba(255, 255, 255, .10);
}

.obe-title {
    font-weight: 900;
    margin: 12px 0 8px;
}

.obe-subtitle {
    max-width: 760px;
    margin: 0 auto;
    color: rgba(11, 18, 32, .66);
}

html[data-bs-theme="dark"] .obe-subtitle {
    color: rgba(255, 255, 255, .70);
}

/* Shell + grid bg */
.obe-testi-shell {
    position: relative;
    border-radius: var(--obe-radius-xl);
    padding: 28px 18px 18px;
}

.obe-grid-bg {
    position: absolute;
    inset: 0;
    border-radius: var(--obe-radius-xl);
    pointer-events: none;
    background:
        radial-gradient(900px 380px at 18% 0%, rgba(49, 184, 239, .18), transparent 60%),
        radial-gradient(700px 280px at 80% 12%, rgba(8, 65, 142, .12), transparent 55%),
        linear-gradient(0deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .82)),
        linear-gradient(90deg, rgba(11, 18, 32, .05) 1px, transparent 1px),
        linear-gradient(0deg, rgba(11, 18, 32, .05) 1px, transparent 1px);
    background-size: auto, auto, auto, 46px 46px, 46px 46px;
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: var(--obe-shadow);
}

html[data-bs-theme="dark"] .obe-grid-bg {
    background:
        radial-gradient(900px 380px at 18% 0%, rgba(49, 184, 239, .10), transparent 60%),
        radial-gradient(700px 280px at 80% 12%, rgba(8, 65, 142, .25), transparent 55%),
        linear-gradient(0deg, rgba(7, 31, 62, .70), rgba(7, 31, 62, .70)),
        linear-gradient(90deg, rgba(255, 255, 255, .06) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .06) 1px, transparent 1px);
    background-size: auto, auto, auto, 46px 46px, 46px 46px;
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 26px 90px rgba(0, 0, 0, .40);
}

/* Card */
.obe-testi-card {
    position: relative;
    z-index: 1;
    border-radius: var(--obe-radius-lg);
    padding: 22px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .10);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    overflow: hidden;
}

html[data-bs-theme="dark"] .obe-testi-card {
    background: rgba(7, 31, 62, .72);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 22px 80px rgba(0, 0, 0, .38);
}

.obe-testi-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--obe-shadow-hover);
    border-color: rgba(49, 184, 239, .38);
}

/* Soft highlight strip (creative) */
.obe-testi-card::before {
    content: "";
    position: absolute;
    inset: -60px -60px auto auto;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle at 30% 30%, rgba(49, 184, 239, .35), transparent 60%);
    transform: rotate(18deg);
    opacity: .8;
    pointer-events: none;
}

html[data-bs-theme="dark"] .obe-testi-card::before {
    opacity: .45;
}

/* stars */
.obe-stars {
    display: flex;
    gap: 4px;
    color: #f6c445;
    font-size: 18px;
    margin-bottom: 14px;
}

/* header row */
.obe-testi-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.obe-user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.obe-avatar {
    width: 54px;
    height: 54px;
    border-radius: 999px;
    overflow: hidden;
    border: 2px solid rgba(49, 184, 239, .35);
    box-shadow: 0 14px 40px rgba(0, 0, 0, .12);
    flex: 0 0 auto;
}

.obe-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.obe-name {
    font-weight: 900;
    line-height: 1.2;
}

.obe-role {
    color: rgba(11, 18, 32, .62);
    font-size: .92rem;
}

html[data-bs-theme="dark"] .obe-role {
    color: rgba(255, 255, 255, .70);
}

.obe-quote {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(49, 184, 239, .14);
    border: 1px solid rgba(49, 184, 239, .22);
    color: var(--obe-primary);
}

html[data-bs-theme="dark"] .obe-quote {
    background: rgba(49, 184, 239, .10);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .85);
}

/* text */
.obe-testi-text {
    margin: 0 0 16px;
    font-size: 1.06rem;
    line-height: 1.7;
    color: var(--obe-primary);
}

html[data-bs-theme="dark"] .obe-testi-text {
    color: rgba(49, 184, 239, .92);
}

/* pills */
.obe-testi-bottom-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.obe-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(8, 65, 142, .06);
    border: 1px solid rgba(8, 65, 142, .10);
    color: rgba(11, 18, 32, .75);
    font-weight: 700;
    font-size: .88rem;
}

.obe-pill i {
    color: var(--obe-secondary);
}

html[data-bs-theme="dark"] .obe-pill {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .78);
}

/* dots */
.obe-dots {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
}

.obe-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: rgba(8, 65, 142, .30);
    border: 1px solid rgba(8, 65, 142, .18);
    transition: transform .2s ease, opacity .2s ease, background .2s ease;
    cursor: pointer;
}

.obe-dot.is-active {
    transform: scale(1.35);
    background: var(--obe-secondary);
    opacity: 1;
    border-color: rgba(49, 184, 239, .35);
}

html[data-bs-theme="dark"] .obe-dot {
    background: rgba(255, 255, 255, .22);
    border-color: rgba(255, 255, 255, .10);
}

/* trust row */
.obe-trust {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
    flex-wrap: wrap;
    text-align: center;
}

.obe-mini-avatars {
    display: flex;
}

.obe-mini-avatars img {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, .92);
    margin-left: -8px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
}

html[data-bs-theme="dark"] .obe-mini-avatars img {
    border-color: rgba(7, 31, 62, .85);
}

.obe-trust-text {
    color: rgba(11, 18, 32, .70);
}

html[data-bs-theme="dark"] .obe-trust-text {
    color: rgba(255, 255, 255, .75);
}

/* slide animation */
.obe-slide-out {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease;
}

.obe-slide-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .35s ease, transform .35s ease;
}

@media (max-width: 576px) {
    .obe-testi-shell {
        padding: 22px 12px 14px;
    }

    .obe-testi-card {
        padding: 18px;
    }

    .obe-testi-text {
        font-size: 1rem;
    }
}

/* ===================================================
   FAQ v2 — Modern / Premium SaaS (Dark+Light)
   File: public/assets/front/css/theme-mode.css
   =================================================== */

:root {
    --obe-primary: var(--brand-primary, #08418E);
    --obe-secondary: var(--brand-secondary, #31B8EF);
    --obe-radius: 18px;
}

/* Section background (clean + modern) */
.obe-faqv2 {
    position: relative;
    overflow: hidden;
}

.obe-faqv2::before {
    content: "";
    position: absolute;
    inset: -2px;
    background:
        radial-gradient(900px 380px at 20% 0%, rgba(49, 184, 239, .16), transparent 60%),
        radial-gradient(700px 280px at 85% 15%, rgba(8, 65, 142, .12), transparent 58%),
        linear-gradient(180deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0));
    pointer-events: none;
}

html[data-bs-theme="dark"] .obe-faqv2::before {
    background:
        radial-gradient(900px 380px at 20% 0%, rgba(49, 184, 239, .12), transparent 60%),
        radial-gradient(700px 280px at 85% 15%, rgba(8, 65, 142, .22), transparent 58%),
        linear-gradient(180deg, rgba(7, 31, 62, .45), rgba(7, 31, 62, 0));
}

/* small chip */
.obe-pill {
    display: inline-flex;
    align-items: center;
    padding: .38rem .75rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: .85rem;
    color: var(--obe-primary);
    background: rgba(49, 184, 239, .14);
    border: 1px solid rgba(49, 184, 239, .26);
}

html[data-bs-theme="dark"] .obe-pill {
    color: rgba(255, 255, 255, .92);
    background: rgba(49, 184, 239, .10);
    border-color: rgba(49, 184, 239, .18);
}

/* accordion spacing */
.obe-faqv2-acc {
    position: relative;
    z-index: 1;
}

/* item wrapper */
.obe-faqv2-item {
    border: 0 !important;
    background: transparent !important;
    margin-bottom: 14px;
}

/* IMPORTANT: kill bootstrap/dashcore orange + arrow */
.obe-faqv2-btn,
.obe-faqv2-btn:not(.collapsed),
.obe-faqv2-btn:focus {
    box-shadow: none !important;
    color: inherit !important;
    background: transparent !important;
}

.obe-faqv2-btn::after {
    display: none !important;
    /* remove default caret arrow */
}

/* our button card */
.obe-faqv2-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px;

    padding: 18px 18px !important;
    border-radius: var(--obe-radius) !important;

    border: 1px solid rgba(8, 65, 142, .10) !important;
    background: rgba(255, 255, 255, .86) !important;
    backdrop-filter: blur(10px);

    box-shadow: 0 14px 40px rgba(0, 0, 0, .07) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.obe-faqv2-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .10) !important;
    border-color: rgba(49, 184, 239, .40) !important;
}

html[data-bs-theme="dark"] .obe-faqv2-btn {
    background: rgba(7, 31, 62, .72) !important;
    border-color: rgba(255, 255, 255, .10) !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .35) !important;
    color: rgba(255, 255, 255, .92) !important;
}

html[data-bs-theme="dark"] .obe-faqv2-btn:hover {
    border-color: rgba(49, 184, 239, .30) !important;
}

/* question text */
.obe-faqv2-q {
    font-weight: 750;
    line-height: 1.25;
}

/* PLUS on the right (perfect placement) */
.obe-faqv2-plus {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    border: 1px solid rgba(49, 184, 239, .22);
    background: rgba(49, 184, 239, .12);
    position: relative;
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.obe-faqv2-plus::before,
.obe-faqv2-plus::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background: var(--obe-primary);
    transform: translate(-50%, -50%);
}

.obe-faqv2-plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: opacity .18s ease;
}

/* open state: turn plus into minus */
.obe-faqv2-btn:not(.collapsed) .obe-faqv2-plus {
    transform: rotate(180deg);
    background: rgba(8, 65, 142, .10);
    border-color: rgba(8, 65, 142, .18);
}

.obe-faqv2-btn:not(.collapsed) .obe-faqv2-plus::after {
    opacity: 0;
}

/* body card */
.obe-faqv2-body {
    margin-top: 10px;
    padding: 16px 18px;
    border-radius: var(--obe-radius);
    border: 1px solid rgba(8, 65, 142, .08);
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 34px rgba(0, 0, 0, .06);
    color: rgba(11, 18, 32, .78);
}

html[data-bs-theme="dark"] .obe-faqv2-body {
    background: rgba(7, 31, 62, .55);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .78);
}

/* Smooth collapse feel */
.obe-faqv2-item .accordion-collapse {
    transition: height .35s ease;
}

/* Reveal animation */
.obe-reveal-up {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .6s ease, transform .6s ease;
}

.obe-reveal-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===================================================
   GET STARTED – PREMIUM ONBOARDING SECTION
   Uses brand colors ONLY
   =================================================== */

.obe-onboarding-section {
    position: relative;
    overflow: hidden;
}

/* Background blur shapes */
.obe-bg-shapes {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.obe-blur-shape {
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: .25;
}

.obe-shape-1 {
    background: var(--brand-secondary);
    top: -80px;
    left: -80px;
}

.obe-shape-2 {
    background: var(--brand-primary);
    bottom: -80px;
    right: -80px;
}

/* Timeline wrapper */
.obe-timeline-wrapper {
    position: relative;
    max-width: 900px;
    margin: 0 auto 3rem;
}

/* DOTTED LINE */
.obe-timeline-line {
    width: 100%;
    height: 120px;
}

.obe-timeline-line path {
    stroke: var(--brand-secondary);
    stroke-width: 2.5;
    fill: none;
    stroke-dasharray: 4 10;
    stroke-linecap: round;
    stroke-dashoffset: 120;
    animation: obeDrawDots 2.2s cubic-bezier(.65, .05, .36, 1) forwards;
}

.obe-timeline-line {
    filter: drop-shadow(0 0 12px rgba(49, 184, 239, .35));
}

@keyframes obeDrawDots {
    to {
        stroke-dashoffset: 0;
    }
}

/* Steps */
.obe-steps {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.obe-step {
    text-align: center;
    max-width: 220px;
    animation: obeFadeUp .8s ease forwards;
}

@keyframes obeFadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

/* Icons */
.obe-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 1rem;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,
            var(--brand-primary),
            var(--brand-secondary));
    color: #fff;
    box-shadow: 0 14px 40px rgba(49, 184, 239, .45);
    animation: obeFloat 4s ease-in-out infinite;
}

@keyframes obeFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

.obe-step h5 {
    font-weight: 700;
}

.obe-step p {
    font-size: .95rem;
    color: var(--text-muted, #6b7280);
}

/* CTA BUTTON */
.obe-pill-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .9rem 1.9rem;
    border-radius: 999px;
    font-weight: 800;
    color: #fff !important;

    background: linear-gradient(135deg,
            var(--brand-primary),
            var(--brand-secondary));

    box-shadow:
        0 18px 45px rgba(49, 184, 239, .45),
        inset 0 0 0 1px rgba(255, 255, 255, .18);

    transition: all .35s ease;
}

.obe-pill-btn:hover {
    transform: translateY(-2px);
    box-shadow:
        0 26px 65px rgba(49, 184, 239, .65),
        inset 0 0 0 1px rgba(255, 255, 255, .25);
}

/* ===================================================
   OBE Feature Cards v2 — soft, shadowy, dotted stroke
   Top-center icon + per-card reveal
   =================================================== */

.obe-features-v2 {
    position: relative;
    overflow: hidden;
}

.obe-features-v2::before {
    content: "";
    position: absolute;
    inset: -30% -15%;
    pointer-events: none;
    background:
        radial-gradient(circle at 20% 20%, rgba(49, 184, 239, .16), transparent 55%),
        radial-gradient(circle at 75% 45%, rgba(8, 65, 142, .10), transparent 60%);
    filter: blur(8px);
}

/* chip */
.obe-mini-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .45rem .85rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--brand-primary);
    background: rgba(49, 184, 239, .14);
    border: 1px solid rgba(49, 184, 239, .22);
}

html[data-bs-theme="dark"] .obe-mini-chip {
    color: rgba(255, 255, 255, .92);
    background: rgba(49, 184, 239, .10);
    border-color: rgba(255, 255, 255, .10);
}

.obe-feature-title {
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.15;
}

.obe-feature-sub {
    color: rgba(11, 18, 32, .68);
    font-size: 1.02rem;
}

html[data-bs-theme="dark"] .obe-feature-sub {
    color: rgba(255, 255, 255, .70);
}

/* soft card */
.obe-card {
    position: relative;
    height: 100%;
    padding: 22px 20px 18px;
    border-radius: 22px;
    border: 0;
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 70px rgba(0, 0, 0, .08);
    transition: transform .25s ease, box-shadow .25s ease;
    overflow: hidden;
    transform: translateZ(0);
}

html[data-bs-theme="dark"] .obe-card {
    background: rgba(7, 31, 62, .65);
    box-shadow: 0 26px 95px rgba(0, 0, 0, .42);
}

.obe-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 95px rgba(0, 0, 0, .14);
}

/* dotted moving stroke (subtle premium) */
.obe-card-stroke {
    position: absolute;
    inset: 10px;
    border-radius: 18px;
    pointer-events: none;
    background:
        radial-gradient(circle, rgba(49, 184, 239, .55) 1px, transparent 1.6px) 0 0 / 10px 10px;

    /* keep dots on border only */
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;

    padding: 1px;
    opacity: .28;
    filter: drop-shadow(0 0 10px rgba(49, 184, 239, .18));
    animation: obeDotsMove 3.8s linear infinite;
}

html[data-bs-theme="dark"] .obe-card-stroke {
    opacity: .22;
}

@keyframes obeDotsMove {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 40px 0;
    }
}

/* top-center icon */
.obe-card-ic {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 16px 42px rgba(49, 184, 239, .35);
    transform: translateZ(0);
}

.obe-card-ic--top {
    margin: 0 auto 14px;
    animation: obeIconFloat 4.2s ease-in-out infinite;
}

@keyframes obeIconFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.obe-card-ic i {
    font-size: 28px;
    line-height: 1;
}

.obe-card-title {
    margin: 0 0 8px;
    font-weight: 900;
    letter-spacing: -.01em;
    color: var(--text-dark);
}

html[data-bs-theme="dark"] .obe-card-title {
    color: rgba(255, 255, 255, .94);
}

.obe-card-text {
    margin: 0 0 14px;
    line-height: 1.7;
    color: rgba(11, 18, 32, .70);
}

html[data-bs-theme="dark"] .obe-card-text {
    color: rgba(255, 255, 255, .72);
}

/* tags */
.obe-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 12px;
}

.obe-card-tags span {
    padding: 8px 10px;
    border-radius: 999px;
    font-weight: 750;
    font-size: .86rem;
    color: rgba(11, 18, 32, .72);
    background: rgba(8, 65, 142, .06);
}

html[data-bs-theme="dark"] .obe-card-tags span {
    color: rgba(255, 255, 255, .78);
    background: rgba(255, 255, 255, .06);
}

/* per-card reveal only */
.obe-card-reveal {
    opacity: 0;
    transform: translateY(16px) scale(.985);
}

.obe-card-reveal.is-in {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: opacity .65s ease, transform .65s ease;
    transition-delay: var(--d, 0s);
}

@media (prefers-reduced-motion: reduce) {

    .obe-card-stroke,
    .obe-card-ic--top {
        animation: none !important;
    }

    .obe-card-reveal {
        opacity: 1;
        transform: none;
    }
}

/* ===================================================
   PRODUCTS — Modern Premium Card System
   File: public/assets/front/css/theme-mode.css
   =================================================== */

.obe-products-modern {
    position: relative;
    overflow: hidden;
}

.obe-products-modern::before {
    content: "";
    position: absolute;
    inset: -35% -18%;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 20%, rgba(49, 184, 239, .14), transparent 58%),
        radial-gradient(circle at 80% 45%, rgba(8, 65, 142, .10), transparent 60%);
    filter: blur(12px);
    opacity: .9;
}

.obe-products-title {
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.15;
}

.obe-products-sub {
    color: rgba(11, 18, 32, .68);
    font-size: 1.02rem;
}

html[data-bs-theme="dark"] .obe-products-sub {
    color: rgba(255, 255, 255, .70);
}

/* --- Card shell (lighter, not brick) --- */
.obe-pcard {
    border-radius: 24px;
    overflow: hidden;
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(8, 65, 142, .08);
    box-shadow: 0 18px 70px rgba(0, 0, 0, .08);
    backdrop-filter: blur(10px);
    transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
    transform: translateZ(0);
}

html[data-bs-theme="dark"] .obe-pcard {
    background: rgba(7, 31, 62, .66);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 26px 95px rgba(0, 0, 0, .42);
}

.obe-pcard:hover {
    transform: translateY(-8px);
    border-color: rgba(49, 184, 239, .28);
    box-shadow: 0 30px 92px rgba(0, 0, 0, .14);
}

/* --- Gradient header area --- */
.obe-pcard__head {
    display: block;
    position: relative;
    padding: 22px 18px 18px;
    min-height: 150px;
    text-decoration: none;

    background:
        radial-gradient(900px 260px at 18% 18%, rgba(49, 184, 239, .34), transparent 60%),
        radial-gradient(900px 260px at 82% 42%, rgba(8, 65, 142, .22), transparent 62%),
        linear-gradient(135deg, rgba(8, 65, 142, .10), rgba(49, 184, 239, .08));
    transition: filter .26s ease;
}

/* soft mesh layer for premium look */
.obe-pcard__mesh {
    position: absolute;
    inset: -40%;
    pointer-events: none;
    background:
        radial-gradient(circle at 30% 25%, rgba(49, 184, 239, .28), transparent 55%),
        radial-gradient(circle at 70% 65%, rgba(8, 65, 142, .22), transparent 60%);
    filter: blur(22px);
    opacity: .55;
    transition: opacity .26s ease;
}

.obe-pcard:hover .obe-pcard__head {
    filter: saturate(1.06);
}

.obe-pcard:hover .obe-pcard__mesh {
    opacity: .82;
}

/* --- Image floating (controlled) --- */
.obe-pcard__imgwrap {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
}

.obe-pcard__imgwrap img {
    width: 86%;
    max-width: 320px;
    height: auto;
    display: block;
    border-radius: 18px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .12);
    transform: translateY(6px);
    transition: transform .26s ease, box-shadow .26s ease;
}

.obe-pcard:hover .obe-pcard__imgwrap img {
    transform: translateY(2px) scale(1.02);
    box-shadow: 0 26px 78px rgba(0, 0, 0, .16);
}

/* --- Body --- */
.obe-pcard__body {
    padding: 16px 18px 18px;
}

.obe-pcard__title {
    margin: 2px 0 8px;
    font-weight: 900;
    letter-spacing: -.01em;
    font-size: 1.06rem;
}

.obe-pcard__title a {
    color: var(--text-dark);
    text-decoration: none;
}

html[data-bs-theme="dark"] .obe-pcard__title a {
    color: rgba(255, 255, 255, .95);
}

.obe-pcard__desc {
    margin: 0 0 12px;
    line-height: 1.65;
    color: rgba(11, 18, 32, .70);
    font-size: .98rem;
}

html[data-bs-theme="dark"] .obe-pcard__desc {
    color: rgba(255, 255, 255, .72);
}

/* --- Bullets (compact, modern) --- */
.obe-pcard__bullets {
    list-style: none;
    padding: 0;
    margin: 0 0 12px;
    display: grid;
    gap: 8px;
}

.obe-pcard__bullets li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 650;
    color: rgba(11, 18, 32, .72);
}

html[data-bs-theme="dark"] .obe-pcard__bullets li {
    color: rgba(255, 255, 255, .75);
}

.obe-pcard__bullets i {
    color: var(--brand-secondary);
    font-size: 16px;
}

/* --- Chips (smaller + cleaner) --- */
.obe-pcard__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.obe-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 999px;
    font-weight: 750;
    font-size: .84rem;
    color: rgba(11, 18, 32, .72);
    background: rgba(8, 65, 142, .06);
    border: 1px solid rgba(8, 65, 142, .08);
}

html[data-bs-theme="dark"] .obe-chip {
    color: rgba(255, 255, 255, .78);
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

.obe-chip i {
    color: var(--brand-secondary);
    font-size: 16px;
}

/* --- CTA row (same height, clean, no ugly wrap) --- */
.obe-pcard__cta {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

/* primary */
.obe-cta-primary {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: .82rem 1.05rem;
    border-radius: 999px;
    font-weight: 850;
    text-decoration: none;
    color: #fff !important;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 14px 36px rgba(49, 184, 239, .25);
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.obe-cta-primary:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 18px 44px rgba(49, 184, 239, .35);
}

/* secondary */
.obe-cta-secondary {
    flex: 0 0 auto;
    min-width: 150px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .82rem 1.05rem;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    color: var(--brand-primary);
    background: rgba(8, 65, 142, .06);
    border: 1px solid rgba(8, 65, 142, .10);
    transition: transform .22s ease, background .22s ease, border-color .22s ease;
}

html[data-bs-theme="dark"] .obe-cta-secondary {
    color: rgba(255, 255, 255, .90);
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

.obe-cta-secondary:hover {
    transform: translateY(-2px);
    background: rgba(49, 184, 239, .10);
    border-color: rgba(49, 184, 239, .24);
}

/* subtle CTA emphasis on hover */
.obe-pcard__cta {
    opacity: .94;
    transform: translateY(2px);
    transition: opacity .22s ease, transform .22s ease;
}

.obe-pcard:hover .obe-pcard__cta {
    opacity: 1;
    transform: translateY(0);
}

/* responsive */
@media (max-width: 575.98px) {
    .obe-pcard__head {
        min-height: 140px;
    }

    .obe-cta-secondary {
        min-width: 130px;
    }
}

/* ===================================================
   OBE Testimonials Masonry (Premium)
   File: public/assets/front/css/theme-mode.css
   =================================================== */

.obe-testi-masonry {
    position: relative;
    overflow: hidden;
    padding: 72px 0;
    background:
        radial-gradient(900px 480px at 20% 10%, rgba(49, 184, 239, .22), transparent 60%),
        radial-gradient(800px 520px at 80% 40%, rgba(8, 65, 142, .14), transparent 55%),
        radial-gradient(900px 520px at 50% 120%, rgba(49, 184, 239, .12), transparent 55%),
        linear-gradient(180deg, rgba(7, 31, 62, .92), rgba(7, 31, 62, .80) 55%, rgba(7, 31, 62, .92));
}

html[data-bs-theme="light"] .obe-testi-masonry {
    background:
        radial-gradient(900px 480px at 20% 10%, rgba(49, 184, 239, .18), transparent 60%),
        radial-gradient(800px 520px at 80% 40%, rgba(8, 65, 142, .10), transparent 55%),
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .92));
}

.obe-testi-masonry::before {
    content: "";
    position: absolute;
    inset: -2px;
    pointer-events: none;
    background:
        radial-gradient(900px 420px at 10% 0%, rgba(255, 255, 255, .10), transparent 60%),
        radial-gradient(700px 420px at 90% 15%, rgba(255, 255, 255, .06), transparent 60%);
    opacity: .7;
}

/* Left */
.obe-tm-left {
    position: relative;
    z-index: 1;
    padding: 6px;
}

.obe-tm-pill-row {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.obe-tm-pill {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .22);
    color: rgba(255, 255, 255, .92);
    font-size: 13px;
    line-height: 1;
}

html[data-bs-theme="light"] .obe-tm-pill {
    background: rgba(8, 65, 142, .06);
    border-color: rgba(8, 65, 142, .10);
    color: rgba(11, 18, 32, .86);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}

.obe-tm-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 0 0 3px rgba(49, 184, 239, .12);
}

.obe-tm-stars {
    display: inline-flex;
    gap: 2px;
    font-size: 14px;
    color: #f6c343;
    transform: translateY(-.5px);
}

.obe-tm-title {
    font-size: clamp(2.2rem, 3.6vw, 3.4rem);
    line-height: 1.05;
    letter-spacing: -.03em;
    margin: 0 0 14px;
    font-weight: 900;
    color: rgba(255, 255, 255, .94);
}

html[data-bs-theme="light"] .obe-tm-title {
    color: rgba(11, 18, 32, .92);
}

.obe-tm-grad {
    background: linear-gradient(90deg, var(--brand-secondary), var(--brand-primary));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.obe-tm-desc {
    margin: 0 0 22px;
    color: rgba(255, 255, 255, .74);
    font-size: 16px;
    line-height: 1.7;
    max-width: 52ch;
}

html[data-bs-theme="light"] .obe-tm-desc {
    color: rgba(11, 18, 32, .68);
}

.obe-tm-cta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 18px 0 10px;
}

.obe-tm-btn-primary {
    border: 0;
    padding: 12px 16px;
    border-radius: 999px;
    font-weight: 850;
    font-size: 14px;
    color: #fff !important;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 14px 35px rgba(49, 184, 239, .20);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.obe-tm-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 45px rgba(49, 184, 239, .28);
    filter: saturate(1.03);
}

.obe-tm-btn-ghost {
    padding: 12px 16px;
    border-radius: 999px;
    font-weight: 850;
    font-size: 14px;
    color: rgba(255, 255, 255, .92) !important;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .14);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

html[data-bs-theme="light"] .obe-tm-btn-ghost {
    color: rgba(11, 18, 32, .85) !important;
    background: rgba(8, 65, 142, .06);
    border-color: rgba(8, 65, 142, .12);
}

.obe-tm-btn-ghost:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, .24);
    box-shadow: 0 14px 35px rgba(0, 0, 0, .22);
}

.obe-tm-note {
    margin-top: 10px;
    color: rgba(255, 255, 255, .60);
    font-size: 13px;
}

html[data-bs-theme="light"] .obe-tm-note {
    color: rgba(11, 18, 32, .55);
}

/* Right / Masonry */
.obe-tm-right {
    position: relative;
    z-index: 1;
    border-radius: 26px;
    padding: 8px;
}

.obe-tm-masonry-wrap {
    position: relative;
    height: 560px;
    overflow: hidden;
    border-radius: 28px;
    mask-image: linear-gradient(180deg, transparent, #000 10%, #000 90%, transparent);
}

.obe-tm-masonry {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
    will-change: transform;
}

.obe-tm-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
    transform: translateY(var(--offset, 0px));
}

.obe-tm-card {
    position: relative;
    padding: 16px 16px 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .055));
    border: 1px solid rgba(255, 255, 255, .12);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .28);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    overflow: hidden;
}

html[data-bs-theme="light"] .obe-tm-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .88));
    border-color: rgba(8, 65, 142, .10);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .08);
}

.obe-tm-card::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 160px;
    height: 160px;
    background: radial-gradient(circle at 30% 30%, rgba(49, 184, 239, .22), transparent 55%);
    opacity: .9;
    pointer-events: none;
}

.obe-tm-card:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 255, 255, .22);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .38);
}

html[data-bs-theme="light"] .obe-tm-card:hover {
    border-color: rgba(49, 184, 239, .35);
    box-shadow: 0 22px 55px rgba(0, 0, 0, .12);
}

.obe-tm-quote {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, .84);
    font-size: 14px;
    line-height: 1.6;
}

html[data-bs-theme="light"] .obe-tm-quote {
    color: rgba(11, 18, 32, .78);
}

.obe-tm-meta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.obe-tm-person {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.obe-tm-name {
    font-weight: 900;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.obe-tm-role {
    color: rgba(255, 255, 255, .60);
    font-size: 12.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

html[data-bs-theme="light"] .obe-tm-role {
    color: rgba(11, 18, 32, .55);
}

.obe-tm-stars-sm {
    display: flex;
    gap: 2px;
    font-size: 13px;
    color: #f6c343;
    opacity: .98;
    flex-shrink: 0;
    transform: translateY(1px);
}

.obe-tm-spark {
    position: absolute;
    right: 12px;
    top: 10px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 0 0 4px rgba(49, 184, 239, .10);
    opacity: .85;
}

@keyframes obeTmFloaty {
    0% {
        transform: translateY(var(--base, 0px));
    }

    50% {
        transform: translateY(calc(var(--base, 0px) - 6px));
    }

    100% {
        transform: translateY(var(--base, 0px));
    }
}

.obe-tm-float {
    animation: obeTmFloaty 7s ease-in-out infinite;
}

.obe-tm-float.s2 {
    animation-duration: 8.2s;
}

@media (max-width: 1100px) {
    .obe-testi-masonry {
        padding: 60px 0;
    }

    .obe-tm-masonry-wrap {
        height: 620px;
    }
}

@media (max-width: 640px) {
    .obe-testi-masonry {
        padding: 54px 0;
    }

    .obe-tm-masonry {
        grid-template-columns: 1fr;
    }

    .obe-tm-masonry-wrap {
        height: 640px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .obe-tm-float {
        animation: none;
    }
}

/* ===================================================
   Core SaaS Modules — Premium Brand
   File: public/assets/front/css/theme-mode.css
   =================================================== */

.obe-modules {
    position: relative;
    overflow: hidden;
}

.obe-modules::before {
    content: "";
    position: absolute;
    inset: -40% -20%;
    background:
        radial-gradient(circle at 20% 20%, rgba(49, 184, 239, .18), transparent 55%),
        radial-gradient(circle at 80% 60%, rgba(8, 65, 142, .14), transparent 55%);
    pointer-events: none;
}

html[data-bs-theme="dark"] .obe-modules::before {
    background:
        radial-gradient(circle at 20% 20%, rgba(49, 184, 239, .12), transparent 55%),
        radial-gradient(circle at 80% 60%, rgba(8, 65, 142, .22), transparent 55%);
}

/* Left content */
.obe-modules-head {
    position: relative;
    z-index: 1;
}

.obe-modules-badge {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .55rem .85rem;
    border-radius: 999px;
    background: rgba(49, 184, 239, .14);
    border: 1px solid rgba(49, 184, 239, .25);
    color: var(--brand-primary);
    font-weight: 850;
    letter-spacing: .02em;
}

html[data-bs-theme="dark"] .obe-modules-badge {
    background: rgba(49, 184, 239, .10);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .92);
}

.obe-modules-badge-ico {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .60);
}

html[data-bs-theme="dark"] .obe-modules-badge-ico {
    background: rgba(255, 255, 255, .08);
}

.obe-modules-title {
    margin: .9rem 0 .65rem;
    font-weight: 950;
    letter-spacing: -.02em;
    line-height: 1.12;
}

.obe-modules-desc {
    color: rgba(11, 18, 32, .70);
    font-size: 1.05rem;
    line-height: 1.75;
    max-width: 52ch;
}

html[data-bs-theme="dark"] .obe-modules-desc {
    color: rgba(255, 255, 255, .72);
}

.obe-modules-cta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px;
}

/* Right cards */
.obe-module-card {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: 18px 18px 16px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 16px 48px rgba(0, 0, 0, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease;
    will-change: transform;
}

html[data-bs-theme="dark"] .obe-module-card {
    background: rgba(7, 31, 62, .65);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 18px 60px rgba(0, 0, 0, .35);
}

.obe-module-glow {
    position: absolute;
    inset: -60%;
    background:
        radial-gradient(circle at 30% 20%, rgba(49, 184, 239, .35), transparent 55%),
        radial-gradient(circle at 70% 60%, rgba(8, 65, 142, .25), transparent 55%);
    filter: blur(18px);
    opacity: .6;
    pointer-events: none;
    transition: opacity .22s ease;
}

.obe-module-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    position: relative;
    z-index: 1;
}

.obe-module-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(49, 184, 239, .12);
    color: var(--brand-primary);
    box-shadow: 0 14px 40px rgba(49, 184, 239, .18);
}

html[data-bs-theme="dark"] .obe-module-icon {
    background: rgba(49, 184, 239, .10);
    color: rgba(255, 255, 255, .92);
    box-shadow: 0 18px 60px rgba(0, 0, 0, .25);
}

.obe-module-chip {
    font-size: .78rem;
    font-weight: 850;
    padding: .25rem .65rem;
    border-radius: 999px;
    background: rgba(8, 65, 142, .07);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-module-chip {
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .86);
}

.obe-module-h {
    margin: 0 0 6px;
    font-weight: 950;
    letter-spacing: -.01em;
    position: relative;
    z-index: 1;
}

.obe-module-p {
    margin: 0;
    color: rgba(11, 18, 32, .70);
    line-height: 1.65;
    position: relative;
    z-index: 1;
}

html[data-bs-theme="dark"] .obe-module-p {
    color: rgba(255, 255, 255, .72);
}

.obe-module-foot {
    margin-top: 14px;
    position: relative;
    z-index: 1;
}

.obe-module-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 900;
    color: var(--brand-primary);
    text-decoration: none;
}

.obe-module-link:hover {
    text-decoration: underline;
}

.obe-module-card:hover {
    transform: translateY(-6px);
    border-color: rgba(49, 184, 239, .40);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .12);
    filter: saturate(1.03);
}

html[data-bs-theme="dark"] .obe-module-card:hover {
    box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
}

.obe-module-card:hover .obe-module-glow {
    opacity: .85;
}

/* Mobile spacing */
@media (max-width: 991.98px) {
    .obe-modules {
        padding-top: 10px;
    }
}

/* ===================================================
   Core SaaS Modules — aligned 2×2 grid + consistent sizing
   File: public/assets/front/css/theme-mode.css
   =================================================== */

/* Right side grid */
.obe-mod-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

/* Ensure consistent card sizing */
.obe-mod-grid .obe-module-card {
    height: 100%;
    min-height: 240px;
    display: flex;
    flex-direction: column;
}

/* Keep the footer aligned across cards */
.obe-mod-grid .obe-module-foot {
    margin-top: auto;
}

/* Optional: slightly tighter on small laptops */
@media (max-width: 1199.98px) {
    .obe-mod-grid {
        gap: 14px;
    }
}

/* Responsive: one column on mobile */
@media (max-width: 767.98px) {
    .obe-mod-grid {
        grid-template-columns: 1fr;
    }
}

/* =================================================
=====================================================
=====================================================
=====================================================
=====================================================
=====================================================
=====================================================
=======================other pages ===================
======================================================
======================================================
======================================================
======================================================*/
/* ===================================================
   PRICING v2 — Reference UI Clone + Premium Enhancements
   File: public/assets/front/css/theme-mode.css
   Requires: --brand-primary, --brand-secondary
   =================================================== */

.obe-pricing-v2 {
    position: relative;
    padding: 20px 0 92px;
    background: #fff;
    overflow: hidden;
    font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* corner glows */
.obe-pricing-v2__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.obe-pricing-v2__glow {
    position: absolute;
    width: 560px;
    height: 560px;
    border-radius: 999px;
    filter: blur(90px);
    opacity: .28;
}

.obe-pricing-v2__glow--tl {
    top: -260px;
    left: -280px;
    background: radial-gradient(circle, rgba(49, 184, 239, .85), transparent 62%);
}

.obe-pricing-v2__glow--tr {
    top: -260px;
    right: -280px;
    background: radial-gradient(circle, rgba(8, 65, 142, .55), transparent 62%);
}

.obe-pricing-v2__glow--br {
    bottom: -300px;
    right: -320px;
    background: radial-gradient(circle, rgba(49, 184, 239, .55), transparent 62%);
}

html[data-bs-theme="dark"] .obe-pricing-v2 {
    background: rgba(7, 31, 62, .60);
}

html[data-bs-theme="dark"] .obe-pricing-v2__glow {
    opacity: .18;
}

/* header */
.obe-pricing-v2__head {
    text-align: center;
    max-width: 920px;
    margin: 0 auto;
}

.obe-pricing-v2__pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .35rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(8, 65, 142, .12);
    background: rgba(255, 255, 255, .75);
    box-shadow: 0 10px 28px rgba(0, 0, 0, .06);
    font-weight: 700;
    font-size: .78rem;
    letter-spacing: .02em;
    color: rgba(11, 18, 32, .78);
}

.obe-pricing-v2__pill-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--brand-secondary);
    box-shadow: 0 0 0 4px rgba(49, 184, 239, .18);
}

html[data-bs-theme="dark"] .obe-pricing-v2__pill {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .85);
}

.obe-pricing-v2__title {
    margin: 14px 0 10px;
    font-weight: 900;
    letter-spacing: -0.03em;
    font-size: clamp(2.15rem, 3.4vw, 3.35rem);
    color: #0b1220;
}

html[data-bs-theme="dark"] .obe-pricing-v2__title {
    color: rgba(255, 255, 255, .96);
}

.obe-pricing-v2__sub {
    margin: 0 auto;
    max-width: 760px;
    color: rgba(11, 18, 32, .62);
    font-size: 1.03rem;
    line-height: 1.7;
}

html[data-bs-theme="dark"] .obe-pricing-v2__sub {
    color: rgba(255, 255, 255, .70);
}

.obe-pricing-v2__trust {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 18px;
}

.obe-pricing-v2__trust-item {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-weight: 650;
    font-size: .95rem;
    color: rgba(11, 18, 32, .70);
}

html[data-bs-theme="dark"] .obe-pricing-v2__trust-item {
    color: rgba(255, 255, 255, .72);
}

.obe-pricing-v2__check {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .14);
    border: 1px solid rgba(49, 184, 239, .22);
    color: var(--brand-primary);
}

.obe-pricing-v2__check svg {
    width: 14px;
    height: 14px;
    stroke-width: 3;
}

/* cards */
.obe-price-v2 {
    position: relative;
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 18px 70px rgba(0, 0, 0, .10);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    height: 100%;
}

/* subtle inner highlight for premium feel */
.obe-price-v2::before {
    content: "";
    position: absolute;
    inset: -80px -120px auto auto;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle at 30% 30%, rgba(49, 184, 239, .28), transparent 65%);
    transform: rotate(15deg);
    opacity: .75;
    pointer-events: none;
}

.obe-price-v2:hover {
    transform: translateY(-7px);
    border-color: rgba(49, 184, 239, .35);
    box-shadow: 0 30px 110px rgba(0, 0, 0, .14);
}

html[data-bs-theme="dark"] .obe-price-v2 {
    background: rgba(7, 31, 62, .72);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 26px 100px rgba(0, 0, 0, .38);
}

html[data-bs-theme="dark"] .obe-price-v2::before {
    opacity: .40;
}

.obe-price-v2__top-strip {
    width: 100%;
    padding: 10px 16px;
    text-align: center;
    color: #fff;
    font-weight: 900;
    letter-spacing: .02em;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
}

.obe-price-v2__inner {
    padding: 34px 32px 28px;
}

.obe-price-v2__icon {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .10);
    border: 1px solid rgba(49, 184, 239, .22);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .08);
    color: var(--brand-primary);
    margin-bottom: 16px;
}

.obe-price-v2__icon svg {
    width: 18px;
    height: 18px;
}

.obe-price-v2__name {
    font-weight: 900;
    font-size: 1.22rem;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
    color: #0b1220;
}

html[data-bs-theme="dark"] .obe-price-v2__name {
    color: rgba(255, 255, 255, .95);
}

.obe-price-v2__desc {
    margin: 0 0 16px;
    color: rgba(11, 18, 32, .62);
    line-height: 1.55;
    font-size: .95rem;
}

html[data-bs-theme="dark"] .obe-price-v2__desc {
    color: rgba(255, 255, 255, .70);
}

.obe-price-v2__price-row {
    display: flex;
    align-items: baseline;
    gap: .25rem;
    margin-bottom: 10px;
}

.obe-price-v2__currency {
    font-weight: 800;
    color: rgba(11, 18, 32, .65);
}

.obe-price-v2__price {
    font-weight: 950;
    font-size: 2.05rem;
    letter-spacing: -0.02em;
    color: var(--brand-primary);
}

.obe-price-v2__per {
    color: rgba(11, 18, 32, .60);
    font-weight: 650;
}

html[data-bs-theme="dark"] .obe-price-v2__currency,
html[data-bs-theme="dark"] .obe-price-v2__per {
    color: rgba(255, 255, 255, .70);
}

html[data-bs-theme="dark"] .obe-price-v2__price {
    color: #fff;
}

.obe-price-v2__trial {
    display: inline-flex;
    padding: .35rem .65rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: .78rem;
    color: #0a7a44;
    background: rgba(20, 180, 90, .10);
    border: 1px solid rgba(20, 180, 90, .18);
    margin-bottom: 14px;
}

/* meta perks */
.obe-price-v2__meta {
    display: grid;
    gap: 10px;
    margin: 10px 0 14px;
}

.obe-price-v2__metaItem {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(11, 18, 32, .70);
    font-weight: 650;
    font-size: .95rem;
}

html[data-bs-theme="dark"] .obe-price-v2__metaItem {
    color: rgba(255, 255, 255, .74);
}

.obe-price-v2__metaItem svg {
    width: 16px;
    height: 16px;
    color: var(--brand-secondary);
}

/* CTA button + glow */
.obe-price-v2__btnWrap {
    position: relative;
    margin-top: 8px;
    margin-bottom: 18px;
}

.obe-price-v2__btnGlow {
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    width: 82%;
    height: 42px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(49, 184, 239, .65), rgba(49, 184, 239, 0) 70%);
    filter: blur(14px);
    opacity: .85;
    pointer-events: none;
}

.obe-price-v2__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    width: 100%;
    padding: .82rem 1.05rem;
    border-radius: 999px;
    font-weight: 850;
    color: #fff !important;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    box-shadow: 0 18px 44px rgba(49, 184, 239, .26);
    position: relative;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.obe-price-v2__btn svg {
    width: 18px;
    height: 18px;
}

.obe-price-v2__btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 24px 60px rgba(49, 184, 239, .34);
}

/* shimmer */
.obe-price-v2__btn::after {
    content: "";
    position: absolute;
    inset: -50% -60%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent);
    transform: translateX(-55%) rotate(12deg);
    opacity: 0;
}

.obe-price-v2__btn:hover::after {
    opacity: 1;
    animation: obeBtnShimmer .9s ease;
}

@keyframes obeBtnShimmer {
    from {
        transform: translateX(-60%) rotate(12deg);
    }

    to {
        transform: translateX(60%) rotate(12deg);
    }
}

.obe-price-v2__divider {
    height: 1px;
    background: rgba(11, 18, 32, .10);
    margin: 18px 0 16px;
}

html[data-bs-theme="dark"] .obe-price-v2__divider {
    background: rgba(255, 255, 255, .10);
}

/* list */
.obe-price-v2__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.obe-price-v2__list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(11, 18, 32, .72);
    font-weight: 650;
    font-size: .95rem;
}

html[data-bs-theme="dark"] .obe-price-v2__list li {
    color: rgba(255, 255, 255, .75);
}

.obe-price-v2__liIcon {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .20);
    color: var(--brand-primary);
    flex: 0 0 auto;
}

.obe-price-v2__liIcon svg {
    width: 14px;
    height: 14px;
    stroke-width: 3;
}

/* featured card */
.obe-price-v2.is-featured {
    transform: translateY(-12px);
    border-color: rgba(49, 184, 239, .45);
    box-shadow: 0 36px 125px rgba(0, 0, 0, .16);
}

.obe-price-v2.is-featured:hover {
    transform: translateY(-16px);
}

/* animations */
.obe-anim-v2 {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity .78s cubic-bezier(.2, .85, .2, 1),
        transform .78s cubic-bezier(.2, .85, .2, 1);
    will-change: opacity, transform;
}

/* .obe-anim-v2.is-in {
    opacity: 1;
    transform: translateY(0);
}

.obe-price-v2.obe-anim-v2 {
    transform: translateY(24px) scale(.985);
}

.obe-price-v2.obe-anim-v2.is-in {
    transform: translateY(0) scale(1);
}

.obe-price-v2.is-featured.obe-anim-v2 {
    transform: translateY(30px) scale(.965);
}

.obe-price-v2.is-featured.obe-anim-v2.is-in {
    transform: translateY(-12px) scale(1);
} */

/* GSAP will control these – keep only performance hint */
.obe-anim-v2 {
    will-change: transform, opacity;
}

/* Avoid flash before GSAP animates */
.obe-pricing-v2 [data-obe-v2="head"],
.obe-pricing-v2 [data-obe-v2="card"] {
    opacity: 0;
}

/* @media (max-width: 991.98px) {
    .obe-pricing-v2 {
        padding: 64px 0 68px;
    }

    .obe-price-v2.is-featured {
        transform: none;
    }

    .obe-price-v2.is-featured.obe-anim-v2.is-in {
        transform: translateY(0) scale(1);
    }
} */









/* ===================================================
   BENEFITS v2 — Premium Glass (Theme Aligned)
   File: public/assets/front/css/theme-mode.css
   Uses: --brand-primary, --brand-secondary
   =================================================== */

.obe-benefits-v2 {
    position: relative;
    overflow: hidden;
}

.obe-benefits-v2::before {
    content: "";
    position: absolute;
    inset: -30% -25%;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 25%, rgba(49, 184, 239, .22), transparent 55%),
        radial-gradient(circle at 78% 55%, rgba(8, 65, 142, .14), transparent 55%);
}

html[data-bs-theme="dark"] .obe-benefits-v2::before {
    background:
        radial-gradient(circle at 18% 25%, rgba(49, 184, 239, .14), transparent 55%),
        radial-gradient(circle at 78% 55%, rgba(8, 65, 142, .26), transparent 55%);
}

/* Card base (works with your obe-glass-card) */
.obe-benefits-v2__card {
    position: relative;
    border-radius: 18px;
    padding: 28px;
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 18px 70px rgba(0, 0, 0, .08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    height: 100%;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

/* subtle highlight */
.obe-benefits-v2__card::after {
    content: "";
    position: absolute;
    inset: -120px -140px auto auto;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle at 30% 30%, rgba(49, 184, 239, .25), transparent 65%);
    transform: rotate(14deg);
    opacity: .85;
    pointer-events: none;
}

.obe-benefits-v2__card:hover {
    transform: translateY(-6px);
    border-color: rgba(49, 184, 239, .35);
    box-shadow: 0 28px 105px rgba(0, 0, 0, .12);
}

html[data-bs-theme="dark"] .obe-benefits-v2__card {
    background: rgba(7, 31, 62, .70);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 26px 100px rgba(0, 0, 0, .40);
}

html[data-bs-theme="dark"] .obe-benefits-v2__card::after {
    opacity: .45;
}

/* top pill */
.obe-benefits-v2__top {
    margin-bottom: 12px;
}

.obe-benefits-v2__pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .38rem .85rem;
    border-radius: 999px;
    border: 1px solid rgba(8, 65, 142, .12);
    background: rgba(255, 255, 255, .70);
    font-weight: 800;
    font-size: .78rem;
    color: rgba(11, 18, 32, .78);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
}

.obe-benefits-v2__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--brand-secondary);
    box-shadow: 0 0 0 4px rgba(49, 184, 239, .18);
}

html[data-bs-theme="dark"] .obe-benefits-v2__pill {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .86);
}

/* headings */
.obe-benefits-v2__title {
    font-weight: 950;
    letter-spacing: -0.02em;
    margin: 0 0 14px;
    color: #0b1220;
    font-size: 1.55rem;
    line-height: 1.25;
}

.obe-benefits-v2__title-sm {
    font-weight: 900;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
    color: #0b1220;
    line-height: 1.25;
}

html[data-bs-theme="dark"] .obe-benefits-v2__title,
html[data-bs-theme="dark"] .obe-benefits-v2__title-sm {
    color: rgba(255, 255, 255, .96);
}

.obe-benefits-v2__muted {
    color: rgba(11, 18, 32, .66) !important;
}

html[data-bs-theme="dark"] .obe-benefits-v2__muted {
    color: rgba(255, 255, 255, .72) !important;
}

/* checklist */
.obe-benefits-v2__list li {
    font-weight: 650;
    color: rgba(11, 18, 32, .76);
}

html[data-bs-theme="dark"] .obe-benefits-v2__list li {
    color: rgba(255, 255, 255, .78);
}

.obe-benefits-v2__list .ti {
    color: var(--brand-secondary);
    font-size: 1.1rem;
}

/* mini stats v2 */
.obe-mini-stat--v2 {
    border-radius: 16px;
    padding: 14px 14px 12px;
    background: rgba(49, 184, 239, .08);
    border: 1px solid rgba(49, 184, 239, .18);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.obe-mini-stat--v2:hover {
    transform: translateY(-3px);
    border-color: rgba(49, 184, 239, .28);
    box-shadow: 0 16px 46px rgba(0, 0, 0, .10);
}

html[data-bs-theme="dark"] .obe-mini-stat--v2 {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

.obe-mini-stat--v2 .obe-mini-stat__num {
    font-weight: 950;
    color: var(--brand-primary);
    letter-spacing: -0.01em;
}

html[data-bs-theme="dark"] .obe-mini-stat--v2 .obe-mini-stat__num {
    color: #fff;
}

.obe-mini-stat--v2 .obe-mini-stat__txt {
    color: rgba(11, 18, 32, .62);
    font-weight: 650;
}

html[data-bs-theme="dark"] .obe-mini-stat--v2 .obe-mini-stat__txt {
    color: rgba(255, 255, 255, .70);
}

/* right perks icons */
.obe-perk-ico {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .20);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-perk-ico {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .90);
}

/* callout */
.obe-callout--v2 {
    border-radius: 18px;
    padding: 16px 16px;
    background: linear-gradient(135deg, rgba(49, 184, 239, .12), rgba(8, 65, 142, .06));
    border: 1px solid rgba(49, 184, 239, .22);
}

html[data-bs-theme="dark"] .obe-callout--v2 {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

.obe-callout-ico {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    color: #fff;
    box-shadow: 0 16px 44px rgba(49, 184, 239, .30);
}

/* Buttons: align with your theme */
.obe-btn-glow {
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary)) !important;
    border: none !important;
    font-weight: 700;
    padding: 0.7rem 1.75rem !important;
    /* Explicit padding to override px-4 */
    box-shadow: 0 18px 48px rgba(49, 184, 239, .28);
    color: #fff !important;
    position: relative;
    overflow: hidden;
    min-width: 160px;
    /* Ensure a balanced minimum width */
    text-align: center;
}

.obe-btn-glow:hover {
    transform: translateY(-1px);
    box-shadow: 0 24px 60px rgba(49, 184, 239, .36);
}

/* shimmer on primary */
.obe-btn-glow::after {
    content: "";
    position: absolute;
    inset: -50% -60%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .22), transparent);
    transform: translateX(-55%) rotate(12deg);
    opacity: 0;

}

.obe-btn-glow:hover::after {
    opacity: 1;
    animation: obeBtnShimmer .9s ease;
}

/* soft secondary */
.obe-btn-soft {
    border: 1px solid rgba(8, 65, 142, .12) !important;
    background: rgba(255, 255, 255, .60) !important;
    font-weight: 800;
}

html[data-bs-theme="dark"] .obe-btn-soft {
    background: rgba(255, 255, 255, .06) !important;
    border-color: rgba(255, 255, 255, .10) !important;
    color: rgba(255, 255, 255, .90) !important;
}



/* Outline Brand Button - Balances with Glow */
.obe-btn-outline-brand {
    background: transparent !important;
    border: 2px solid var(--brand-secondary) !important;
    color: var(--brand-primary) !important;
    font-weight: 700;
    padding: 0.7rem 1.75rem !important;
    min-width: 160px;
    text-align: center;
    border-radius: 999px;
    /* Ensure rounded if not inherited */
    transition: all 0.3s ease;
}

.obe-btn-outline-brand:hover {
    background: var(--brand-secondary) !important;
    color: #fff !important;
    box-shadow: 0 10px 30px rgba(49, 184, 239, .25);
    transform: translateY(-1px);
}

html[data-bs-theme="dark"] .obe-btn-outline-brand {
    color: #fff !important;
    border-color: rgba(49, 184, 239, .6) !important;
}

html[data-bs-theme="dark"] .obe-btn-outline-brand:hover {
    background: rgba(49, 184, 239, .8) !important;
    border-color: transparent !important;
}

/* GSAP will animate opacity/transform; keep only hint */
.obe-anim-v2 {
    will-change: transform, opacity;
}


/* ===================================================
   TRAINING VIDEO v2 — Premium (Theme Aligned)
   File: public/assets/front/css/theme-mode.css
   =================================================== */

.obe-training-v2 {
    position: relative;
    overflow: hidden;
    padding: 10px 0 86px 0;
}

.obe-training-v2__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.obe-training-v2__glow {
    position: absolute;
    width: 560px;
    height: 560px;
    border-radius: 999px;
    filter: blur(95px);
    opacity: .24;
}

.obe-training-v2__glow--tl {
    top: -260px;
    left: -280px;
    background: radial-gradient(circle, rgba(49, 184, 239, .85), transparent 62%);
}

.obe-training-v2__glow--br {
    bottom: -300px;
    right: -320px;
    background: radial-gradient(circle, rgba(8, 65, 142, .55), transparent 62%);
}

html[data-bs-theme="dark"] .obe-training-v2__glow {
    opacity: .16;
}

.obe-training-v2__pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .42rem .9rem;
    border-radius: 999px;
    border: 1px solid rgba(8, 65, 142, .12);
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
    font-weight: 850;
    font-size: .78rem;
    color: rgba(11, 18, 32, .78);
}

.obe-training-v2__pill svg {
    width: 16px;
    height: 16px;
}

.obe-training-v2__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--brand-secondary);
    box-shadow: 0 0 0 4px rgba(49, 184, 239, .18);
}

html[data-bs-theme="dark"] .obe-training-v2__pill {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .86);
}

.obe-training-v2__title {
    margin: 14px 0 10px;
    font-weight: 950;
    letter-spacing: -0.03em;
    font-size: clamp(2rem, 3.2vw, 3rem);
    color: #0b1220;
}

html[data-bs-theme="dark"] .obe-training-v2__title {
    color: rgba(255, 255, 255, .96);
}

.obe-training-v2__sub {
    margin: 0 auto;
    max-width: 760px;
    color: rgba(11, 18, 32, .62);
    font-size: 1.02rem;
    line-height: 1.7;
}

html[data-bs-theme="dark"] .obe-training-v2__sub {
    color: rgba(255, 255, 255, .72);
}

/* Video card */
.obe-training-v2__videoCard {
    border-radius: 18px;
    background: rgba(255, 255, 255, .90);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 18px 80px rgba(0, 0, 0, .10);
    overflow: hidden;
}

html[data-bs-theme="dark"] .obe-training-v2__videoCard {
    background: rgba(7, 31, 62, .72);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 26px 110px rgba(0, 0, 0, .38);
}

.obe-training-v2__videoWrap {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.obe-training-v2__iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* overlay (non-blocking) */
.obe-training-v2__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    pointer-events: none;
    background: radial-gradient(circle at 50% 40%, rgba(0, 0, 0, .18), transparent 65%);
}

.obe-training-v2__play {
    width: 78px;
    height: 78px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 24px 70px rgba(49, 184, 239, .35);
    opacity: .92;
    transform: translateZ(0);
}

.obe-training-v2__play svg {
    width: 28px;
    height: 28px;
    color: #fff;
    margin-left: 3px;
}

.obe-training-v2__hint {
    font-weight: 800;
    font-size: .92rem;
    color: rgba(255, 255, 255, .92);
    text-shadow: 0 10px 26px rgba(0, 0, 0, .35);
}

/* Bottom bar */
.obe-training-v2__bar {
    display: flex;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid rgba(11, 18, 32, .08);
    flex-wrap: wrap;
}

html[data-bs-theme="dark"] .obe-training-v2__bar {
    border-top: 1px solid rgba(255, 255, 255, .10);
}

.obe-training-v2__barItem {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(49, 184, 239, .08);
    border: 1px solid rgba(49, 184, 239, .16);
    color: rgba(11, 18, 32, .70);
    font-weight: 700;
    flex: 1 1 auto;
    min-width: 180px;
}

html[data-bs-theme="dark"] .obe-training-v2__barItem {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .72);
}

.obe-training-v2__barIco {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .20);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-training-v2__barIco {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .90);
}

.obe-training-v2__barIco svg {
    width: 16px;
    height: 16px;
}

/* Side card */
.obe-training-v2__side {
    border-radius: 18px;
    padding: 28px;
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 18px 70px rgba(0, 0, 0, .08);
    height: 100%;
    overflow: hidden;
}

html[data-bs-theme="dark"] .obe-training-v2__side {
    background: rgba(7, 31, 62, .70);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 26px 100px rgba(0, 0, 0, .40);
}

.obe-training-v2__sideTitle {
    font-weight: 950;
    letter-spacing: -0.02em;
    margin-bottom: 18px;
    color: #0b1220;
}

html[data-bs-theme="dark"] .obe-training-v2__sideTitle {
    color: rgba(255, 255, 255, .96);
}

.obe-training-v2__item {
    display: flex;
    gap: 12px;
    padding: 12px 12px;
    border-radius: 16px;
    background: rgba(49, 184, 239, .07);
    border: 1px solid rgba(49, 184, 239, .14);
    margin-bottom: 12px;
}

html[data-bs-theme="dark"] .obe-training-v2__item {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

.obe-training-v2__itemIcon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .20);
    color: var(--brand-primary);
    flex: 0 0 auto;
}

html[data-bs-theme="dark"] .obe-training-v2__itemIcon {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .90);
}

.obe-training-v2__itemIcon svg {
    width: 18px;
    height: 18px;
}

.obe-training-v2__itemTitle {
    font-weight: 900;
    margin-bottom: 2px;
    color: rgba(11, 18, 32, .86);
}

html[data-bs-theme="dark"] .obe-training-v2__itemTitle {
    color: rgba(255, 255, 255, .92);
}

.obe-training-v2__itemText {
    color: rgba(11, 18, 32, .62);
    font-size: .92rem;
    line-height: 1.55;
}

html[data-bs-theme="dark"] .obe-training-v2__itemText {
    color: rgba(255, 255, 255, .72);
}

/* CTA with glow */
.obe-training-v2__ctaWrap {
    position: relative;
    margin-top: 16px;
}

.obe-training-v2__ctaGlow {
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
    width: 86%;
    height: 44px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(49, 184, 239, .65), rgba(49, 184, 239, 0) 70%);
    filter: blur(14px);
    opacity: .85;
    pointer-events: none;
}

.obe-training-v2__ctaBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    width: 100%;
    padding: .88rem 1.05rem;
    border-radius: 999px;
    font-weight: 900;
    color: #fff !important;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 18px 44px rgba(49, 184, 239, .26);
    position: relative;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.obe-training-v2__ctaBtn svg {
    width: 18px;
    height: 18px;
}

.obe-training-v2__ctaBtn:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 24px 60px rgba(49, 184, 239, .34);
}

/* Resource card */
.obe-training-v2__resource {
    border-radius: 18px;
    padding: 18px 18px;
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 16px 60px rgba(0, 0, 0, .08);
}

html[data-bs-theme="dark"] .obe-training-v2__resource {
    background: rgba(7, 31, 62, .65);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 22px 90px rgba(0, 0, 0, .36);
}

.obe-training-v2__resourceTitle {
    font-weight: 950;
    margin: 0 0 6px;
    color: #0b1220;
}

html[data-bs-theme="dark"] .obe-training-v2__resourceTitle {
    color: rgba(255, 255, 255, .95);
}

.obe-training-v2__resourceText {
    margin: 0;
    color: rgba(11, 18, 32, .62);
}

html[data-bs-theme="dark"] .obe-training-v2__resourceText {
    color: rgba(255, 255, 255, .72);
}

/* ===================================================
   TRAINING v2 — Fix "View Pricing" button colors
   overrides old bootstrap primary inside this section only
   =================================================== */

.obe-training-v2 .obe-btn-outline-brand {
    border: 1.5px solid rgba(49, 184, 239, .55) !important;
    /* brand-secondary */
    color: var(--brand-primary) !important;
    background: rgba(255, 255, 255, .65) !important;
    font-weight: 850;
    box-shadow: 0 12px 34px rgba(0, 0, 0, .06);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
    position: relative;
    overflow: hidden;
}

html[data-bs-theme="dark"] .obe-training-v2 .obe-btn-outline-brand {
    background: rgba(255, 255, 255, .06) !important;
    color: rgba(255, 255, 255, .90) !important;
    border-color: rgba(49, 184, 239, .35) !important;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .35);
}

.obe-training-v2 .obe-btn-outline-brand:hover {
    transform: translateY(-2px);
    border-color: rgba(49, 184, 239, .85) !important;
    background: rgba(49, 184, 239, .10) !important;
    box-shadow: 0 18px 54px rgba(49, 184, 239, .18);
}

html[data-bs-theme="dark"] .obe-training-v2 .obe-btn-outline-brand:hover {
    background: rgba(49, 184, 239, .12) !important;
}

.obe-training-v2 .obe-btn-outline-brand svg,
.obe-training-v2 .obe-btn-outline-brand i {
    color: var(--brand-secondary) !important;
}



/* ===================================================
   MODULE OVERVIEW v2 — Premium (Theme Aligned)
   File: public/assets/front/css/theme-mode.css
   =================================================== */

.obe-module-v2 {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

.obe-module-v2__bg {
    position: absolute;
    inset: -2px;
    pointer-events: none;
    background:
        radial-gradient(900px 420px at 18% 15%, rgba(49, 184, 239, .18), transparent 60%),
        radial-gradient(900px 420px at 80% 55%, rgba(8, 65, 142, .12), transparent 60%);
}

html[data-bs-theme="dark"] .obe-module-v2__bg {
    background:
        radial-gradient(900px 420px at 18% 15%, rgba(49, 184, 239, .12), transparent 60%),
        radial-gradient(900px 420px at 80% 55%, rgba(8, 65, 142, .24), transparent 60%);
}

/* pill */
.obe-module-v2__pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .42rem .9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(8, 65, 142, .12);
    font-weight: 900;
    font-size: .78rem;
    color: rgba(11, 18, 32, .78);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
}

.obe-module-v2__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--brand-secondary);
    box-shadow: 0 0 0 4px rgba(49, 184, 239, .18);
}

html[data-bs-theme="dark"] .obe-module-v2__pill {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .86);
}

.obe-module-v2__title {
    margin: 14px 0 10px;
    font-weight: 950;
    letter-spacing: -0.03em;
    font-size: clamp(2rem, 3.1vw, 3rem);
    color: #0b1220;
    line-height: 1.12;
}

html[data-bs-theme="dark"] .obe-module-v2__title {
    color: rgba(255, 255, 255, .96);
}

.obe-module-v2__desc {
    color: rgba(11, 18, 32, .66);
    line-height: 1.75;
    font-size: 1.02rem;
}

.obe-module-v2__desc p {
    margin-bottom: .75rem;
}

html[data-bs-theme="dark"] .obe-module-v2__desc {
    color: rgba(255, 255, 255, .72);
}

/* chips */
.obe-module-v2__chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .48rem .8rem;
    border-radius: 999px;
    font-weight: 800;
    font-size: .86rem;
    color: rgba(11, 18, 32, .75);
    background: rgba(49, 184, 239, .08);
    border: 1px solid rgba(49, 184, 239, .18);
}

.obe-module-v2__chip i {
    color: var(--brand-secondary);
}

html[data-bs-theme="dark"] .obe-module-v2__chip {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .78);
}

/* media shell */
.obe-module-v2__media {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(8, 65, 142, .10);
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 26px 90px rgba(0, 0, 0, .12);
    padding: 14px;
}

html[data-bs-theme="dark"] .obe-module-v2__media {
    background: rgba(7, 31, 62, .70);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 30px 110px rgba(0, 0, 0, .42);
}

/* mesh glow */
.obe-module-v2__mesh {
    position: absolute;
    inset: -35%;
    background:
        radial-gradient(circle at 25% 20%, rgba(49, 184, 239, .35), transparent 55%),
        radial-gradient(circle at 75% 65%, rgba(8, 65, 142, .20), transparent 55%);
    filter: blur(18px);
    opacity: .9;
    pointer-events: none;
}

html[data-bs-theme="dark"] .obe-module-v2__mesh {
    opacity: .55;
}

/* image */
.obe-module-v2__img {
    display: block;
    border-radius: 18px;
    box-shadow: 0 18px 70px rgba(0, 0, 0, .14);
    max-height: 420px;
    width: 100%;
    object-fit: cover;
}

/* float cards */
.obe-module-v2__float {
    position: absolute;
    border-radius: 16px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, .85);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 18px 60px rgba(0, 0, 0, .12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

html[data-bs-theme="dark"] .obe-module-v2__float {
    background: rgba(7, 31, 62, .78);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 22px 80px rgba(0, 0, 0, .40);
}

.obe-module-v2__float--one {
    left: 18px;
    bottom: 18px;
}

.obe-module-v2__float--two {
    right: 18px;
    top: 18px;
}

.obe-module-v2__floatDot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--brand-secondary);
    box-shadow: 0 0 0 5px rgba(49, 184, 239, .18);
}

.obe-module-v2__floatIcon {
    width: 34px;
    height: 34px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .20);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-module-v2__floatIcon {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .90);
}

.obe-module-v2__muted {
    color: rgba(11, 18, 32, .62);
}

html[data-bs-theme="dark"] .obe-module-v2__muted {
    color: rgba(255, 255, 255, .70);
}

/* responsive */
@media (max-width: 991.98px) {
    .obe-module-v2 {
        padding: 62px 0;
    }

    .obe-module-v2__float--one,
    .obe-module-v2__float--two {
        position: static;
        margin-top: 12px;
        display: inline-block;
    }
}

/* =================================================
=====================================================
=====================================================
=====================================================
=====================================================
=====================================================
=====================================================
=======================FAQS page ===================
======================================================
======================================================
======================================================
======================================================*/
/* ===================================================
   FAQX — New FAQ Page Design (Theme Aligned)
   File: public/assets/front/css/theme-mode.css
   =================================================== */

.faqx-page {
    background: transparent;
}

/* HERO */
.faqx-hero {
    position: relative;
    overflow: hidden;
    padding: 40px 0 34px;
    background: #fff;
}

html[data-bs-theme="dark"] .faqx-hero {
    background: rgba(7, 31, 62, .95);
}

.faqx-hero__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.faqx-glow {
    position: absolute;
    width: 720px;
    height: 720px;
    border-radius: 999px;
    filter: blur(100px);
    opacity: .18;
}

.faqx-glow--tl {
    top: -380px;
    left: -420px;
    background: radial-gradient(circle, rgba(49, 184, 239, .85), transparent 62%);
}

.faqx-glow--br {
    bottom: -420px;
    right: -420px;
    background: radial-gradient(circle, rgba(8, 65, 142, .62), transparent 62%);
}

html[data-bs-theme="dark"] .faqx-glow {
    opacity: .14;
}

.faqx-grid {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(11, 18, 32, .06) 1px, transparent 1px),
        linear-gradient(0deg, rgba(11, 18, 32, .06) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: .55;
    -webkit-mask-image: radial-gradient(circle at 50% 14%, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, 0) 74%);
    mask-image: radial-gradient(circle at 50% 14%, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, 0) 74%);
}

html[data-bs-theme="dark"] .faqx-grid {
    opacity: .22;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255, 255, 255, .07) 1px, transparent 1px);
}

.faqx-hero__container {
    position: relative;
    max-width: 1100px;
}

.faqx-hero__inner {
    border-radius: 22px;
    padding: 26px 22px;
    background: rgba(255, 255, 255, .70);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 24px 90px rgba(0, 0, 0, .10);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

html[data-bs-theme="dark"] .faqx-hero__inner {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 30px 120px rgba(0, 0, 0, .40);
}

/* crumbs */
.faqx-crumbs {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
    font-weight: 800;
    font-size: .88rem;
    color: rgba(11, 18, 32, .55);
}

.faqx-crumbs a {
    color: rgba(11, 18, 32, .55);
    text-decoration: none;
    transition: color .15s ease;
}

.faqx-crumbs a:hover {
    color: rgba(11, 18, 32, .82);
}

.faqx-crumbs__active {
    color: rgba(11, 18, 32, .82);
}

html[data-bs-theme="dark"] .faqx-crumbs,
html[data-bs-theme="dark"] .faqx-crumbs a {
    color: rgba(255, 255, 255, .70);
}

html[data-bs-theme="dark"] .faqx-crumbs a:hover,
html[data-bs-theme="dark"] .faqx-crumbs__active {
    color: rgba(255, 255, 255, .92);
}

/* pill */
.faqx-pill {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 12px;
    padding: .42rem .88rem;
    border-radius: 999px;
    border: 1px solid rgba(49, 184, 239, .22);
    background: rgba(49, 184, 239, .10);
    font-weight: 900;
    font-size: .78rem;
    color: rgba(11, 18, 32, .78);
}

html[data-bs-theme="dark"] .faqx-pill {
    color: rgba(255, 255, 255, .88);
    background: rgba(49, 184, 239, .10);
    border-color: rgba(255, 255, 255, .10);
}

.faqx-pill__dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 0 0 5px rgba(49, 184, 239, .16);
}

.faqx-title {
    margin: 14px 0 8px;
    font-weight: 950;
    letter-spacing: -0.03em;
    line-height: 1.08;
    color: #0b1220;
    font-size: clamp(2.0rem, 3.2vw, 3.0rem);
}

html[data-bs-theme="dark"] .faqx-title {
    color: rgba(255, 255, 255, .96);
}

.faqx-subtitle {
    margin: 0;
    max-width: 70ch;
    color: rgba(11, 18, 32, .62);
    font-size: 1.03rem;
    line-height: 1.75;
}

html[data-bs-theme="dark"] .faqx-subtitle {
    color: rgba(255, 255, 255, .72);
}

.faqx-actions {
    margin-top: 16px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.faqx-btn-primary {
    border: none !important;
    color: #fff !important;
    font-weight: 900;
    padding: .78rem 1.15rem;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%) !important;
    box-shadow: 0 18px 44px rgba(49, 184, 239, .25);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.faqx-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 24px 60px rgba(49, 184, 239, .33);
    filter: brightness(1.02);
}

.faqx-btn-outline {
    border: 1px solid rgba(8, 65, 142, .22) !important;
    background: rgba(255, 255, 255, .55) !important;
    font-weight: 900;
    color: var(--brand-primary) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

html[data-bs-theme="dark"] .faqx-btn-outline {
    background: rgba(255, 255, 255, .06) !important;
    border-color: rgba(255, 255, 255, .14) !important;
    color: rgba(255, 255, 255, .90) !important;
}

.faqx-btn-outline:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .10);
    border-color: rgba(49, 184, 239, .45) !important;
}

.faqx-trust {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.faqx-trust__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 850;
    color: rgba(11, 18, 32, .70);
}

html[data-bs-theme="dark"] .faqx-trust__item {
    color: rgba(255, 255, 255, .76);
}

.faqx-check {
    width: 26px;
    height: 26px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .22);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .faqx-check {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .88);
}

.faqx-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(8, 65, 142, .18), rgba(49, 184, 239, .26), transparent);
}

/* BODY */
.faqx-body {
    background: transparent;
    padding-top: 18px;
}

/* Left side */
.faqx-side {
    border-radius: 22px;
    padding: 18px;
    background: rgba(255, 255, 255, .70);
    border: 1px solid rgba(8, 65, 142, .08);
    box-shadow: 0 18px 70px rgba(0, 0, 0, .08);
    backdrop-filter: blur(10px);
}

html[data-bs-theme="dark"] .faqx-side {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 26px 90px rgba(0, 0, 0, .35);
}

.faqx-side__title {
    font-weight: 950;
    letter-spacing: -0.02em;
    margin-bottom: 8px;
}

.faqx-side__accent {
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .faqx-side__accent {
    color: var(--brand-secondary);
}

.faqx-side__lead {
    font-weight: 800;
    color: rgba(11, 18, 32, .78);
}

html[data-bs-theme="dark"] .faqx-side__lead {
    color: rgba(255, 255, 255, .84);
}

.faqx-side__cards {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.faqx-mini {
    display: flex;
    gap: 12px;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(8, 65, 142, .08);
    background: rgba(255, 255, 255, .72);
}

html[data-bs-theme="dark"] .faqx-mini {
    border-color: rgba(255, 255, 255, .10);
    background: rgba(7, 31, 62, .55);
}

.faqx-mini__icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    color: var(--brand-primary);
    flex: 0 0 auto;
}

html[data-bs-theme="dark"] .faqx-mini__icon {
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .88);
}

.faqx-mini__title {
    font-weight: 950;
}

.faqx-mini__text {
    color: rgba(11, 18, 32, .62);
    font-weight: 700;
    font-size: .92rem;
}

html[data-bs-theme="dark"] .faqx-mini__text {
    color: rgba(255, 255, 255, .70);
}

.faqx-side__cta {
    margin-top: 14px;
}

/* Right card */
.faqx-card {
    border-radius: 22px;
    padding: 14px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 26px 90px rgba(0, 0, 0, .10);
    backdrop-filter: blur(10px);
}

html[data-bs-theme="dark"] .faqx-card {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 30px 120px rgba(0, 0, 0, .40);
}

.faqx-card__top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 8px 6px 12px;
    border-bottom: 1px solid rgba(8, 65, 142, .08);
}

html[data-bs-theme="dark"] .faqx-card__top {
    border-bottom-color: rgba(255, 255, 255, .10);
}

.faqx-card__kicker {
    font-weight: 950;
    color: rgba(11, 18, 32, .60);
    font-size: .85rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

html[data-bs-theme="dark"] .faqx-card__kicker {
    color: rgba(255, 255, 255, .70);
}

.faqx-card__heading {
    font-weight: 950;
    letter-spacing: -0.02em;
}

.faqx-search {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(8, 65, 142, .10);
    background: rgba(255, 255, 255, .70);
    min-width: 260px;
}

html[data-bs-theme="dark"] .faqx-search {
    background: rgba(7, 31, 62, .55);
    border-color: rgba(255, 255, 255, .12);
}

.faqx-search__input {
    border: none !important;
    outline: none !important;
    width: 100%;
    background: transparent !important;
    font-weight: 800;
    color: rgba(11, 18, 32, .78);
}

html[data-bs-theme="dark"] .faqx-search__input {
    color: rgba(255, 255, 255, .86);
}

/* Accordion */
.faqx-item {
    border: 0 !important;
    background: transparent !important;
    margin-top: 12px;
}

.faqx-btn {
    box-shadow: none !important;
    background: rgba(255, 255, 255, .88) !important;
    border: 1px solid rgba(8, 65, 142, .10) !important;
    border-radius: 18px !important;
    padding: 16px 16px !important;
    font-weight: 950 !important;
    color: rgba(11, 18, 32, .86) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.faqx-btn::after {
    display: none !important;
}

.faqx-btn:hover {
    transform: translateY(-1px);
    border-color: rgba(49, 184, 239, .40) !important;
    box-shadow: 0 18px 55px rgba(0, 0, 0, .10) !important;
}

html[data-bs-theme="dark"] .faqx-btn {
    background: rgba(7, 31, 62, .72) !important;
    border-color: rgba(255, 255, 255, .10) !important;
    color: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 20px 80px rgba(0, 0, 0, .30) !important;
}

.faqx-q {
    line-height: 1.25;
}

.faqx-plus {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid rgba(49, 184, 239, .22);
    background: rgba(49, 184, 239, .12);
    position: relative;
    flex: 0 0 auto;
}

.faqx-plus::before,
.faqx-plus::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background: var(--brand-primary);
    transform: translate(-50%, -50%);
}

.faqx-plus::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: opacity .12s ease;
}

.faqx-btn:not(.collapsed) .faqx-plus::after {
    opacity: 0;
}

html[data-bs-theme="dark"] .faqx-plus::before,
html[data-bs-theme="dark"] .faqx-plus::after {
    background: rgba(255, 255, 255, .92);
}

.faqx-answer {
    border-radius: 18px;
    margin-top: 10px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(8, 65, 142, .08);
    color: rgba(11, 18, 32, .70);
    font-weight: 700;
    line-height: 1.75;
}

html[data-bs-theme="dark"] .faqx-answer {
    background: rgba(7, 31, 62, .55);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .78);
}

.faqx-bottom {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(8, 65, 142, .10);
    background: rgba(49, 184, 239, .06);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

html[data-bs-theme="dark"] .faqx-bottom {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

.faqx-bottom__title {
    font-weight: 950;
}

.faqx-bottom__text {
    color: rgba(11, 18, 32, .62);
    font-weight: 800;
}

html[data-bs-theme="dark"] .faqx-bottom__text {
    color: rgba(255, 255, 255, .70);
}

/* REVEAL ANIMATION (simple + premium) */
.js-faqx-reveal {
    opacity: 0;
    transform: translateY(8px);
}

.js-faqx-reveal.is-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .28s ease, transform .28s ease;
}

/* Mobile */
@media (max-width: 991.98px) {
    .faqx-hero {
        padding: 64px 0 26px;
    }

    .faqx-search {
        width: 100%;
        min-width: 0;
    }
}

/* =================================================
=====================================================
=====================================================
=====================================================
=====================================================
=====================================================
=====================================================
=======================About page ===================
======================================================
======================================================
======================================================
======================================================*/
/* ===================================================
   ABOUT PAGE (OBE) — premium SaaS layout
   File: public/assets/front/css/theme-mode.css
   Uses: --brand-primary, --brand-secondary
   =================================================== */

:root {
    --obe-a-bg: #ffffff;
    --obe-a-text: #0b1220;
    --obe-a-muted: rgba(11, 18, 32, .68);
    --obe-a-border: rgba(8, 65, 142, .10);
    --obe-a-shadow: 0 24px 80px rgba(0, 0, 0, .10);
    --obe-a-shadow2: 0 18px 55px rgba(0, 0, 0, .08);
}

/* HERO */
.obe-about-hero {
    position: relative;
    padding: 50px 0 0;
    background: var(--obe-a-bg);
    overflow: hidden;
}

.obe-about-hero__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.obe-glow {
    position: absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .28;
}

.obe-glow--tl {
    top: -240px;
    left: -240px;
    background: var(--brand-secondary);
}

.obe-glow--br {
    bottom: -260px;
    right: -260px;
    background: var(--brand-primary);
    opacity: .18;
}

.obe-grid-mask {
    position: absolute;
    inset: -2px;
    background:
        linear-gradient(90deg, rgba(11, 18, 32, .06) 1px, transparent 1px),
        linear-gradient(0deg, rgba(11, 18, 32, .06) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: radial-gradient(circle at 50% 14%, rgba(0, 0, 0, .9), transparent 62%);
    -webkit-mask-image: radial-gradient(circle at 50% 14%, rgba(0, 0, 0, .9), transparent 62%);
    opacity: .55;
}

.obe-about-hero__card {
    position: relative;
    z-index: 2;
    max-width: 1100px;
    margin: 0 auto;
    padding: 28px 26px 22px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .76);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid var(--obe-a-border);
    box-shadow: var(--obe-a-shadow);
}

.obe-crumbs {
    font-weight: 650;
    color: rgba(11, 18, 32, .55);
    display: flex;
    gap: 10px;
    align-items: center;
}

.obe-crumbs a {
    color: rgba(11, 18, 32, .55);
    text-decoration: none;
}

.obe-crumbs a:hover {
    color: rgba(11, 18, 32, .85);
}

.obe-crumbs .is-active {
    color: rgba(11, 18, 32, .8);
}

.obe-pill-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(49, 184, 239, .25);
    background: rgba(49, 184, 239, .10);
    color: var(--brand-primary);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: .72rem;
}

.obe-pill-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    box-shadow: 0 0 0 5px rgba(49, 184, 239, .12);
}

.obe-h1 {
    margin-top: 14px;
    margin-bottom: 10px;
    font-weight: 900;
    letter-spacing: -0.02em;
    color: var(--obe-a-text);
    font-size: clamp(2rem, 3.1vw, 3rem);
    line-height: 1.07;
}

.obe-sub {
    color: var(--obe-a-muted);
    max-width: 72ch;
    font-size: 1.05rem;
    margin-bottom: 16px;
}

.obe-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.obe-btn-brand {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    border: none;
    color: #fff !important;
    font-weight: 850;
    box-shadow: 0 18px 45px rgba(49, 184, 239, .28);
    position: relative;
}

.obe-btn-brand:hover {
    transform: translateY(-1px);
    box-shadow: 0 22px 58px rgba(49, 184, 239, .34);
}

.obe-btn-outline-brand {
    border: 1px solid rgba(8, 65, 142, .25) !important;
    color: var(--brand-primary) !important;
    background: rgba(255, 255, 255, .75);
}

.obe-btn-outline-brand:hover {
    background: rgba(49, 184, 239, .10) !important;
    border-color: rgba(49, 184, 239, .40) !important;
}

.obe-hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    margin-top: 16px;
    color: rgba(11, 18, 32, .70);
    font-weight: 650;
}

.obe-mini-check {
    display: inline-grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 10px;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .25);
    color: var(--brand-primary);
    margin-right: 8px;
}

.obe-hero-line {
    margin-top: 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(49, 184, 239, .9), rgba(8, 65, 142, .6), transparent);
    opacity: .8;
}

.obe-wave {
    margin-top: 22px;
    width: 100%;
}

.obe-wave svg {
    width: 100%;
    height: 120px;
    display: block;
}

.obe-wave path {
    fill: rgba(49, 184, 239, .10);
}

/* SECTION HEAD */
.obe-mini-chip {
    display: inline-flex;
    align-items: center;
    padding: .38rem .75rem;
    border-radius: 999px;
    font-weight: 800;
    color: var(--brand-primary);
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .22);
}

.obe-h2 {
    font-weight: 900;
    letter-spacing: -0.02em;
    color: var(--obe-a-text);
    margin: 12px 0 10px;
}

.obe-p {
    color: var(--obe-a-muted);
    line-height: 1.75;
}

.obe-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.obe-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(8, 65, 142, .06);
    border: 1px solid rgba(8, 65, 142, .10);
    color: rgba(11, 18, 32, .78);
    font-weight: 700;
}

/* SUITE GRID */
.obe-suite-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

@media (max-width: 991.98px) {
    .obe-suite-grid {
        grid-template-columns: 1fr;
    }
}

.obe-suite-card {
    display: flex;
    gap: 14px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: var(--obe-a-shadow2);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.obe-suite-card:hover {
    transform: translateY(-3px);
    border-color: rgba(49, 184, 239, .35);
    box-shadow: 0 26px 70px rgba(0, 0, 0, .12);
}

.obe-suite-icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .14);
    border: 1px solid rgba(49, 184, 239, .22);
    color: var(--brand-primary);
    flex: 0 0 auto;
}

.obe-suite-title {
    font-weight: 900;
    color: var(--obe-a-text);
}

.obe-suite-text {
    color: var(--obe-a-muted);
    font-weight: 600;
}

/* VIDEO */
.obe-video-wrap {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 16px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255, 255, 255, .70);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: var(--obe-a-shadow);
}

@media (max-width: 991.98px) {
    .obe-video-wrap {
        grid-template-columns: 1fr;
    }
}

.obe-video-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 20px;
    padding: 16px;
    background: linear-gradient(135deg, rgba(8, 65, 142, .10), rgba(49, 184, 239, .12));
    border: 1px solid rgba(49, 184, 239, .25);
    text-decoration: none;
    color: var(--obe-a-text);
    overflow: hidden;
    min-height: 120px;
}

.obe-video-glow {
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 30% 30%, rgba(49, 184, 239, .35), transparent 60%),
        radial-gradient(circle at 70% 60%, rgba(8, 65, 142, .18), transparent 55%);
    filter: blur(18px);
    opacity: .85;
}

.obe-video-play {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
    color: #fff;
    box-shadow: 0 16px 45px rgba(49, 184, 239, .28);
    position: relative;
    z-index: 1;
}

.obe-video-text {
    font-weight: 900;
    position: relative;
    z-index: 1;
}

.obe-video-text small {
    display: block;
    font-weight: 700;
    color: rgba(11, 18, 32, .65);
    margin-top: 3px;
}

/* STATS */
.obe-stat {
    border-radius: 18px;
    padding: 18px 14px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .08);
}

.obe-stat i {
    width: 22px;
    height: 22px;
    color: var(--brand-primary);
}

.obe-stat-num {
    font-size: 2rem;
    font-weight: 950;
    color: var(--brand-primary);
    line-height: 1.1;
    margin-top: 8px;
}

.obe-stat-text {
    color: rgba(11, 18, 32, .70);
    font-weight: 700;
}

/* QUICK REVEAL (no delay) */
.obe-reveal-fast {
    opacity: 0;
    transform: translateY(10px);
    filter: blur(6px);
    transition: opacity .35s ease, transform .35s ease, filter .35s ease;
}

.obe-reveal-fast.is-in {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* DARK MODE */
html[data-bs-theme="dark"] .obe-about-hero {
    background: rgba(7, 31, 62, .75);
}

html[data-bs-theme="dark"] .obe-about-hero__card {
    background: rgba(7, 31, 62, .55);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: 0 26px 90px rgba(0, 0, 0, .40);
}

html[data-bs-theme="dark"] .obe-h1,
html[data-bs-theme="dark"] .obe-h2 {
    color: rgba(255, 255, 255, .95);
}

html[data-bs-theme="dark"] .obe-sub,
html[data-bs-theme="dark"] .obe-p,
html[data-bs-theme="dark"] .obe-suite-text {
    color: rgba(255, 255, 255, .72);
}

html[data-bs-theme="dark"] .obe-suite-card,
html[data-bs-theme="dark"] .obe-video-wrap,
html[data-bs-theme="dark"] .obe-stat {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

html[data-bs-theme="dark"] .obe-tag {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .78);
}

html[data-bs-theme="dark"] .obe-crumbs,
html[data-bs-theme="dark"] .obe-crumbs a {
    color: rgba(255, 255, 255, .60);
}

html[data-bs-theme="dark"] .obe-crumbs .is-active {
    color: rgba(255, 255, 255, .82);
}

html[data-bs-theme="dark"] .obe-video-text small {
    color: rgba(255, 255, 255, .70);
}

/* =================================================
=====================================================
=====================================================
=====================================================
=====================================================
=====================================================
=====================================================
=======================demo Section ===================
======================================================
======================================================
======================================================
======================================================*/


/* ===================================================
   OBE DEMO ACCESS (Premium)
   File: public/assets/front/css/theme-mode.css
   Uses: --brand-primary, --brand-secondary
   =================================================== */

:root {
    --obe-card-radius: 22px;
    --obe-soft-shadow: 0 22px 70px rgba(0, 0, 0, .10);
    --obe-soft-shadow-dark: 0 26px 90px rgba(0, 0, 0, .40);
}

/* Section background */
.obe-demo {
    position: relative;
    overflow: hidden;
}

.obe-demo::before {
    content: "";
    position: absolute;
    inset: -30% -20%;
    background:
        radial-gradient(circle at 20% 25%, rgba(49, 184, 239, .18), transparent 55%),
        radial-gradient(circle at 80% 60%, rgba(8, 65, 142, .14), transparent 55%);
    pointer-events: none;
    filter: blur(8px);
    opacity: .95;
}

html[data-bs-theme="dark"] .obe-demo::before {
    background:
        radial-gradient(circle at 20% 25%, rgba(49, 184, 239, .12), transparent 55%),
        radial-gradient(circle at 80% 60%, rgba(8, 65, 142, .26), transparent 55%);
}

/* Header */
.obe-demo__badge {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .85rem;
    border-radius: 999px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-size: .72rem;
    border: 1px solid rgba(49, 184, 239, .22);
    background: rgba(49, 184, 239, .12);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-demo__badge {
    color: rgba(255, 255, 255, .90);
    background: rgba(49, 184, 239, .10);
    border-color: rgba(255, 255, 255, .10);
}

.obe-demo__title {
    font-weight: 900;
    letter-spacing: -.02em;
    margin: 14px 0 10px;
}

.obe-demo__subtitle {
    color: rgba(11, 18, 32, .66);
    max-width: 70ch;
    margin: 0 auto;
}

html[data-bs-theme="dark"] .obe-demo__subtitle {
    color: rgba(255, 255, 255, .72);
}

/* Layout panel */
.obe-demo__panel {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 18px;
    align-items: start;
}

@media (max-width: 991.98px) {
    .obe-demo__panel {
        grid-template-columns: 1fr;
    }
}

/* Main card */
.obe-demo__card {
    border-radius: var(--obe-card-radius);
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(8, 65, 142, .10);
    box-shadow: var(--obe-soft-shadow);
    padding: 22px;
}

html[data-bs-theme="dark"] .obe-demo__card {
    background: rgba(7, 31, 62, .72);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: var(--obe-soft-shadow-dark);
}

/* Card top */
.obe-demo__cardTop {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.obe-demo__icon {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    color: var(--brand-primary);
    border: 1px solid rgba(49, 184, 239, .22);
}

html[data-bs-theme="dark"] .obe-demo__icon {
    color: rgba(255, 255, 255, .90);
    background: rgba(49, 184, 239, .10);
    border-color: rgba(255, 255, 255, .10);
}

.obe-demo__cardTitle {
    font-weight: 900;
}

.obe-demo__cardDesc {
    color: rgba(11, 18, 32, .65);
}

html[data-bs-theme="dark"] .obe-demo__cardDesc {
    color: rgba(255, 255, 255, .70);
}

/* Fields */
.obe-demo__grid {
    display: grid;
    gap: 12px;
    margin-top: 8px;
}

.obe-demo__field {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 14px;
    border-radius: 16px;
    border: 1px solid rgba(8, 65, 142, .10);
    background: rgba(255, 255, 255, .70);
}

html[data-bs-theme="dark"] .obe-demo__field {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

.obe-demo__label {
    color: rgba(11, 18, 32, .60);
    font-weight: 700;
}

html[data-bs-theme="dark"] .obe-demo__label {
    color: rgba(255, 255, 255, .62);
}

.obe-demo__value {
    font-weight: 850;
    color: var(--brand-primary);
    word-break: break-word;
}

html[data-bs-theme="dark"] .obe-demo__value {
    color: rgba(255, 255, 255, .92);
}

.obe-demo__copy {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(49, 184, 239, .22);
    background: rgba(49, 184, 239, .10);
    color: var(--brand-primary);
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.obe-demo__copy:hover {
    transform: translateY(-1px);
    filter: brightness(1.02);
    box-shadow: 0 14px 32px rgba(49, 184, 239, .22);
}

html[data-bs-theme="dark"] .obe-demo__copy {
    color: rgba(255, 255, 255, .92);
    border-color: rgba(255, 255, 255, .10);
    background: rgba(49, 184, 239, .08);
}

/* Included list */
.obe-demo__included {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(8, 65, 142, .10);
}

html[data-bs-theme="dark"] .obe-demo__included {
    border-top-color: rgba(255, 255, 255, .10);
}

.obe-demo__includedTitle {
    font-weight: 900;
}

.obe-demo__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.obe-demo__list li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(11, 18, 32, .78);
    font-weight: 650;
}

html[data-bs-theme="dark"] .obe-demo__list li {
    color: rgba(255, 255, 255, .78);
}

.obe-demo__list i {
    color: var(--brand-secondary);
}

/* Actions */
.obe-demo__actions {
    margin-top: 18px;
    display: grid;
    gap: 10px;
}

.obe-demo__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: .95rem 1.2rem;
    border-radius: 999px;
    font-weight: 900;
    text-decoration: none;
    color: #fff !important;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    box-shadow: 0 18px 45px rgba(49, 184, 239, .30);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.obe-demo__btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 26px 70px rgba(49, 184, 239, .42);
}

.obe-demo__note {
    color: rgba(11, 18, 32, .62);
}

html[data-bs-theme="dark"] .obe-demo__note {
    color: rgba(255, 255, 255, .68);
}

/* Side card */
.obe-demo__sideCard {
    border-radius: var(--obe-card-radius);
    background: linear-gradient(135deg, rgba(8, 65, 142, .10), rgba(49, 184, 239, .12));
    border: 1px solid rgba(49, 184, 239, .22);
    box-shadow: var(--obe-soft-shadow);
    padding: 18px;
}

html[data-bs-theme="dark"] .obe-demo__sideCard {
    background: rgba(7, 31, 62, .62);
    border-color: rgba(255, 255, 255, .10);
    box-shadow: var(--obe-soft-shadow-dark);
}

.obe-demo__sideBadge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 900;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .70);
    border: 1px solid rgba(8, 65, 142, .10);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-demo__sideBadge {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .90);
}

.obe-demo__sideTitle {
    font-weight: 900;
    margin-top: 10px;
}

.obe-demo__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 16px;
}

.obe-demo__stat {
    border-radius: 18px;
    padding: 14px;
    text-align: center;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(8, 65, 142, .10);
}

html[data-bs-theme="dark"] .obe-demo__stat {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .10);
}

.obe-demo__statNum {
    font-weight: 950;
    font-size: 1.25rem;
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-demo__statNum {
    color: rgba(255, 255, 255, .92);
}

.obe-demo__statLbl {
    color: rgba(11, 18, 32, .62);
    font-weight: 650;
}

html[data-bs-theme="dark"] .obe-demo__statLbl {
    color: rgba(255, 255, 255, .68);
}

.obe-demo__divider {
    height: 1px;
    background: rgba(8, 65, 142, .12);
    margin: 14px 0;
}

html[data-bs-theme="dark"] .obe-demo__divider {
    background: rgba(255, 255, 255, .10);
}

.obe-demo__mini {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 0;
}

.obe-demo__miniIcon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .22);
    color: var(--brand-primary);
}

html[data-bs-theme="dark"] .obe-demo__miniIcon {
    background: rgba(49, 184, 239, .08);
    border-color: rgba(255, 255, 255, .10);
    color: rgba(255, 255, 255, .90);
}

.obe-demo__miniTitle {
    font-weight: 900;
}

.obe-demo__miniText {
    color: rgba(11, 18, 32, .64);
    font-size: .95rem;
}

html[data-bs-theme="dark"] .obe-demo__miniText {
    color: rgba(255, 255, 255, .70);
}

/* ===================================================
   OBE CHAT WIDGET — Premium Light (Aesthetic SaaS)
   Paste at bottom of theme-mode.css
   Uses: --brand-primary, --brand-secondary
   =================================================== */

:root {
    --chatP: var(--brand-primary, #08418E);
    --chatS: var(--brand-secondary, #31B8EF);
    --chatText: #0b1220;
    --chatMuted: rgba(11, 18, 32, .62);
    --chatBorder: rgba(8, 65, 142, .10);
    --chatShadow: 0 22px 70px rgba(15, 23, 42, .16);
    --chatRadius: 18px;
}

/* Floating Button */
.chat-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .35);
    background: linear-gradient(135deg, var(--chatP) 0%, var(--chatS) 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 55px rgba(49, 184, 239, .30);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    z-index: 9999;
}

.chat-float:hover {
    transform: translateY(-2px);
    filter: brightness(1.02);
    box-shadow: 0 24px 80px rgba(49, 184, 239, .38);
}

.chat-float.active {
    display: none;
}

.chat-float i {
    font-size: 22px;
    line-height: 1;
}

/* Widget shell */
.chat-widget {
    position: fixed;
    bottom: 92px;
    right: 24px;
    width: 392px;
    max-width: calc(100vw - 48px);
    border-radius: 22px;
    overflow: hidden;
    background: rgba(255, 255, 255, .92);
    border: 1px solid var(--chatBorder);
    box-shadow: var(--chatShadow);
    z-index: 9999;

    /* closed state */
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px) scale(.98);
    transition: opacity .22s ease, transform .22s ease;
}

.chat-widget.active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

/* Header */
.chat-header {
    position: relative;
    padding: 18px 18px 14px;
    color: #fff;
    background:
        radial-gradient(900px 260px at 20% 0%, rgba(255, 255, 255, .22), transparent 55%),
        linear-gradient(135deg, var(--chatP) 0%, var(--chatS) 100%);
}

.chat-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: rgba(255, 255, 255, .28);
}

.chat-avatars {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.chat-avatar-small {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .18);
    border: 1px solid rgba(255, 255, 255, .28);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
    font-size: 16px;
}

.chat-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .30);
    background: rgba(255, 255, 255, .16);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease;
}

.chat-close:hover {
    transform: scale(1.04);
    background: rgba(255, 255, 255, .22);
}

.chat-greeting h2 {
    margin: 0 0 4px;
    font-weight: 900;
    letter-spacing: -.02em;
    font-size: 1.15rem;
}

.chat-greeting p {
    margin: 0;
    opacity: .92;
    font-size: .92rem;
    line-height: 1.45;
}

/* Body */
.chat-body {
    background:
        radial-gradient(700px 240px at 20% 0%, rgba(49, 184, 239, .10), transparent 55%),
        linear-gradient(180deg, rgba(249, 250, 251, 1), rgba(255, 255, 255, 1));
    display: flex;
    flex-direction: column;
}

/* Welcome area */
.welcome-form {
    padding: 16px;
}

.chat-intro {
    text-align: center;
    padding: 14px 14px 10px;
    border-radius: var(--chatRadius);
    background: rgba(255, 255, 255, .85);
    border: 1px solid rgba(8, 65, 142, .08);
    box-shadow: 0 14px 40px rgba(15, 23, 42, .06);
}

.chat-icon {
    width: 60px;
    height: 60px;
    border-radius: 18px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(49, 184, 239, .12);
    border: 1px solid rgba(49, 184, 239, .22);
    color: var(--chatP);
    font-size: 26px;
}

.chat-intro h4 {
    margin: 0 0 6px;
    font-weight: 950;
    color: var(--chatText);
    letter-spacing: -.02em;
}

.chat-intro p {
    margin: 0 auto;
    max-width: 36ch;
    color: var(--chatMuted);
    font-size: .92rem;
    line-height: 1.55;
}

.support-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-top: 14px;
}

.feature {
    border-radius: 14px;
    padding: 10px 8px;
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(8, 65, 142, .08);
    color: rgba(11, 18, 32, .74);
    font-weight: 750;
    font-size: .82rem;
}

.feature i {
    display: block;
    font-size: 18px;
    color: var(--chatS);
    margin-bottom: 6px;
}

.new-conversation-btn {
    width: 100%;
    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(8, 65, 142, .10);
    background: rgba(255, 255, 255, .88);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 900;
    color: var(--chatP);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .06);
}

.new-conversation-btn:hover {
    transform: translateY(-1px);
    border-color: rgba(49, 184, 239, .30);
    box-shadow: 0 18px 55px rgba(49, 184, 239, .18);
}

.form-group label {
    display: block;
    margin: 10px 0 6px;
    font-size: .84rem;
    font-weight: 800;
    color: rgba(11, 18, 32, .72);
}

.form-group input,
.form-group select {
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(8, 65, 142, .14);
    background: rgba(255, 255, 255, .92);
    font-size: .9rem;
    transition: box-shadow .18s ease, border-color .18s ease;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: rgba(49, 184, 239, .55);
    box-shadow: 0 0 0 6px rgba(49, 184, 239, .18);
}

.start-chat-btn {
    width: 100%;
    margin-top: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    border: none;
    background: linear-gradient(135deg, var(--chatP) 0%, var(--chatS) 100%);
    color: #fff;
    font-weight: 950;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    box-shadow: 0 18px 55px rgba(49, 184, 239, .25);
}

.start-chat-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.02);
    box-shadow: 0 24px 80px rgba(49, 184, 239, .33);
}

/* Chat messages */
.chat-interface {
    display: flex;
    flex-direction: column;
    height: 440px;
}

.chat-messages {
    flex: 1;
    padding: 14px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.message {
    max-width: 82%;
    padding: 10px 12px;
    border-radius: 16px;
    font-size: .92rem;
    line-height: 1.5;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
    border: 1px solid rgba(8, 65, 142, .08);
}

.message.agent {
    align-self: flex-start;
    background: rgba(255, 255, 255, .92);
    color: rgba(11, 18, 32, .82);
    border-bottom-left-radius: 10px;
}

.message.user {
    align-self: flex-end;
    background: linear-gradient(135deg, var(--chatP) 0%, var(--chatS) 100%);
    color: #fff;
    border-color: rgba(255, 255, 255, .18);
    border-bottom-right-radius: 10px;
}

/* Input */
.message-input-container {
    padding: 12px;
    background: rgba(255, 255, 255, .92);
    border-top: 1px solid rgba(8, 65, 142, .10);
    display: flex;
    gap: 10px;
}

.message-input {
    flex: 1;
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(8, 65, 142, .14);
    background: rgba(255, 255, 255, .96);
    font-size: .9rem;
    transition: box-shadow .18s ease, border-color .18s ease;
}

.message-input:focus {
    outline: none;
    border-color: rgba(49, 184, 239, .55);
    box-shadow: 0 0 0 6px rgba(49, 184, 239, .18);
}

.send-btn {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, .35);
    background: linear-gradient(135deg, var(--chatP) 0%, var(--chatS) 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform .18s ease, filter .18s ease;
}

.send-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.02);
}

.send-btn:disabled {
    opacity: .55;
    cursor: not-allowed;
}

/* Mobile */
@media (max-width: 480px) {
    .chat-widget {
        right: 12px;
        bottom: 86px;
        width: calc(100vw - 24px);
    }

    .chat-float {
        right: 12px;
        bottom: 18px;
    }
}