/*
Theme Name: Sasfy Child
Author: Pixelfit
Description: A child theme of Sasfy WordPress Theme
Version: 1.0.2
Template: sasfy
Text Domain: sasfy-child
*/

/* ---------- Header actions: language selector + demo button ---------- */
.tn-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 18px;
}

.tn-lang-switcher {
    position: relative;
}

.tn-lang-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    padding: 10px 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    color: var(--e-global-color-text);
    transition: color .3s ease-in-out;
}

.tn-lang-toggle:hover,
.tn-lang-switcher:hover .tn-lang-toggle {
    color: var(--e-global-color-primary);
}

.tn-lang-toggle .submenu-toggler {
    font-size: 12px;
    line-height: 1;
    transition: transform .3s ease-in-out;
}

.tn-lang-switcher:hover .tn-lang-toggle .submenu-toggler {
    transform: rotate(180deg);
}

/* Dropdown — mirrors .sasfy-nav-menu .sub-menu styling */
.tn-lang-menu {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 10;
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: var(--e-global-color-white);
    box-shadow: 0 2px 35px 0 rgba(0, 0, 0, .04);
    width: 160px;
    opacity: 0;
    pointer-events: none;
    will-change: opacity, transform;
    transform: translate3d(0, 15px, 0);
    transition: opacity .3s cubic-bezier(0.165, 0.84, 0.44, 1), transform .4s cubic-bezier(0.1, 0.76, 0.37, 1.19);
    border-radius: 0 0 5px 5px;
}

.tn-lang-switcher:hover .tn-lang-menu,
.tn-lang-switcher:focus-within .tn-lang-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
}

.tn-lang-menu li {
    margin: 0;
}

.tn-lang-menu li:not(:last-child) {
    border-bottom: 1px solid var(--e-global-color-border);
}

.tn-lang-menu .tn-lang-option {
    display: block;
    padding: 12px 20px;
    font-size: 16px;
    color: var(--e-global-color-text);
    transition: color .3s ease-in-out;
}

.tn-lang-menu .tn-lang-option:hover,
.tn-lang-menu .tn-lang-option.active {
    color: var(--e-global-color-primary);
}

@media only screen and (max-width: 767px) {
    .tn-header-actions {
        gap: 12px;
    }

    .tn-lang-toggle .tn-lang-current {
        display: none; /* keep header compact: globe icon only */
    }
}

/* ===== Footer glows (replaces demo bg-footer.jpg) =====
   Blue glow kept top-left; purple glow replaced with brand orange. */
.sasfy-tb-footer .elementor-50 .elementor-element.elementor-element-63ca720 {
    background-color: #050d1c;
    background-image:
        radial-gradient(ellipse 55% 85% at 82% 55%, rgba(232, 120, 12, 0.26), transparent 70%),
        radial-gradient(ellipse 42% 75% at 0% 8%, rgba(0, 145, 255, 0.30), transparent 70%);
    background-repeat: no-repeat;
}

/* ===== Nav: unlinked dropdown parents (Produits / Solutions) =====
   href="#" parents must not navigate; dropdown opens on li:hover (desktop)
   and via .submenu-toggler (mobile), which stays interactive. */
.sasfy-nav-menu .menu-item-has-children > a[href="#"] {
    pointer-events: none;
    cursor: default;
}

.sasfy-nav-menu .menu-item-has-children > a[href="#"] .submenu-toggler {
    pointer-events: auto;
    cursor: pointer;
}

/* Comparison table: clip the focused (T-Négoce) column to the table radius */
.tn-comparison .sasfy-pricing-comparison {
    overflow: hidden;
}

/* Feature comparison, not pricing: hide the per-column footer buttons (CTA lives below the table) */
.tn-comparison .sasfy-pricing-comparison .table-footer {
    display: none;
}

/* ===== Global button hover: white fill, dark blue text ===== */
.sasfy-button::before,
.sasfy-button::after {
    background-color: var(--e-global-color-white);
}

.sasfy-button:hover {
    border-color: var(--e-global-color-white);
}

.sasfy-button:hover,
.sasfy-button:hover .button-text,
.sasfy-button:hover .button-icon {
    color: #131369;
}

/* ===== Header: lang selector grouped with CTA, nav stays centered ===== */
.e-con.e-child.tn-header-right {
    width: auto; /* compact group, hugs the right edge */
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.e-con.e-child.tn-header-right > .elementor-widget {
    width: auto; /* lang selector and CTA sit side by side */
    flex-grow: 0;
}

@media only screen and (min-width: 1025px) {
    /* equal flex flanks (logo | nav | lang+CTA) keep the nav truly centered */
    .elementor-13 .elementor-element-5408fca > .elementor-element.elementor-element-d381ebe,
    .elementor-13 .elementor-element-5408fca > .e-con.tn-header-right {
        flex: 1 1 0;
        min-width: 0;
    }

    .elementor-13 .elementor-element-5408fca > .elementor-element.elementor-element-30dcb05 {
        flex: 0 1 auto;
    }
}

/* ===== Lang dropdown: dark panel (options were white-on-white) ===== */
.tn-lang-menu {
    background-color: #0c1830;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.45);
    border-radius: 8px;
}

.tn-lang-menu .tn-lang-option {
    color: #B8B8B8;
}

.tn-lang-menu .tn-lang-option:hover,
.tn-lang-menu .tn-lang-option.active {
    color: var(--e-global-color-primary);
}

/* ===== Démo form (metform 960) ===== */

/* Equal field widths in the two-per-row groups (Prénom/Nom, Entreprise/Fonction) */
.elementor-960 .elementor-element-7a71be7 > .elementor-widget.elementor-widget,
.elementor-960 .elementor-element-b907609 > .elementor-widget.elementor-widget {
    width: auto;
    max-width: none;
    flex: 1 1 0;
    min-width: 0;
}

/* Submit button takes the full form width */
.elementor-960 .elementor-widget-mf-button .mf-btn-wraper,
.elementor-960 .elementor-widget-mf-button .mf-btn {
    width: 100%;
}

.elementor-960 .elementor-widget-mf-button .mf-btn {
    display: flex;
    align-items: center;
    justify-content: center;
}
