/* ╔═══════════════════════════════════════════════════════════╗
   ║ LTC FAQ TABS — 5 layouts + 4 styles d'onglets             ║
   ║ Layouts : modern / minimal / boxed / numbered / split     ║
   ║ Onglets : pills / underline / buttons / sidebar           ║
   ╚═══════════════════════════════════════════════════════════╝ */

.ltc-faq{
    --ltc-primary:#1679BE;
    --ltc-secondary:#000000;
    --ltc-dark:#0f0f10;
    --ltc-text-soft:#5a5a60;
    --ltc-bg-card:#ffffff;
    --ltc-border:rgba(15,15,16,0.08);
    --ltc-border-hover:rgba(22,121,190,0.30);
    max-width:1000px;
    width:100%;
    margin:0 auto;
    padding:24px;
    box-sizing:border-box;
}

/* ──────────────── EN-TÊTE ──────────────── */
.ltc-faq__header{
    text-align:center;
    margin-bottom:48px;
}
.ltc-faq--align-left .ltc-faq__header{text-align:left;}
.ltc-faq--align-right .ltc-faq__header{text-align:right;}

.ltc-faq__eyebrow{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    color:var(--ltc-primary);
    margin-bottom:14px;
    padding:6px 14px;
    border:1px solid currentColor;
    border-radius:999px;
    background:rgba(22,121,190,0.04);
}
.ltc-faq__heading{
    font-size:clamp(1.8rem, 3.4vw, 2.6rem);
    font-weight:700;
    margin:0 0 16px;
    color:var(--ltc-dark);
    letter-spacing:-0.02em;
    line-height:1.2;
}
.ltc-faq__subheading{
    font-size:16px;
    color:var(--ltc-text-soft);
    margin:0;
    line-height:1.7;
    max-width:640px;
}
.ltc-faq--align-center .ltc-faq__subheading{margin:0 auto;}
.ltc-faq--align-right .ltc-faq__subheading{margin:0 0 0 auto;}

/* ──────────────── BARRE DE RECHERCHE ──────────────── */
.ltc-faq__search{
    position:relative;
    margin-bottom:28px;
}
.ltc-faq__search svg{
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    color:var(--ltc-text-soft);
    pointer-events:none;
}
.ltc-faq__search-input{
    width:100%;
    padding:14px 18px 14px 50px;
    border:1px solid var(--ltc-border);
    border-radius:12px;
    font-size:15px;
    background:#fff;
    transition:all .35s;
    box-sizing:border-box;
    font-family:inherit;
}
.ltc-faq__search-input:focus{
    outline:none;
    border-color:var(--ltc-primary);
    box-shadow:0 0 0 4px rgba(22,121,190,0.10);
}

/* ──────────────── BODY (tabs + panels) ──────────────── */
.ltc-faq__body{display:block;}

/* Mode sidebar : grid à 2 colonnes */
.ltc-faq--tabs-sidebar .ltc-faq__body{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:32px;
    align-items:start;
}
@media(max-width:768px){
    .ltc-faq--tabs-sidebar .ltc-faq__body{
        grid-template-columns:1fr;
    }
}

/* ╔══════════════════════════════════════════════════════════╗
   ║ ONGLETS — 4 STYLES                                        ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq__tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:36px;
}

.ltc-faq--align-center .ltc-faq__tabs{justify-content:center;}
.ltc-faq--align-right .ltc-faq__tabs{justify-content:flex-end;}

.ltc-faq__tab{
    display:inline-flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
    transition:all .35s cubic-bezier(.25,.8,.25,1);
    font-family:inherit;
    border:none;
    background:none;
    color:var(--ltc-dark);
    font-weight:600;
    font-size:14px;
    letter-spacing:0.2px;
}
.ltc-faq__tab i{font-size:14px; color:var(--ltc-primary); transition:color .35s;}

/* Style 1 : PILLS (par défaut) */
.ltc-faq--tabs-pills .ltc-faq__tab{
    background:#fff;
    border:1px solid var(--ltc-border);
    padding:11px 22px;
    border-radius:999px;
    box-shadow:0 1px 3px rgba(0,0,0,0.03);
}
.ltc-faq--tabs-pills .ltc-faq__tab:hover{
    border-color:var(--ltc-border-hover);
    background:rgba(22,121,190,0.05) !important;
    color:var(--ltc-primary) !important;
    transform:translateY(-2px);
    box-shadow:0 6px 18px rgba(22,121,190,0.10);
}
.ltc-faq--tabs-pills .ltc-faq__tab:hover i{color:var(--ltc-primary) !important;}
.ltc-faq--tabs-pills .ltc-faq__tab.is-active{
    background:linear-gradient(135deg, var(--ltc-primary) 0%, var(--ltc-secondary) 100%) !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 8px 20px rgba(22,121,190,0.32);
    transform:translateY(-2px);
}
.ltc-faq--tabs-pills .ltc-faq__tab.is-active:hover{
    background:linear-gradient(135deg, var(--ltc-primary) 0%, var(--ltc-secondary) 100%) !important;
    color:#fff !important;
}
.ltc-faq--tabs-pills .ltc-faq__tab.is-active i,
.ltc-faq--tabs-pills .ltc-faq__tab.is-active:hover i{color:#fff !important;}

/* Style 2 : UNDERLINE */
.ltc-faq--tabs-underline .ltc-faq__tabs{
    border-bottom:1px solid var(--ltc-border);
    gap:0;
    padding-bottom:0;
    margin-bottom:32px;
    flex-wrap:nowrap;
    overflow-x:auto;
}
.ltc-faq--tabs-underline .ltc-faq__tab{
    padding:14px 18px;
    border-radius:0;
    border-bottom:3px solid transparent;
    margin-bottom:-1px;
    background:none;
    flex-shrink:0;
}
.ltc-faq--tabs-underline .ltc-faq__tab:hover{
    color:var(--ltc-primary) !important;
    background:none !important;
}
.ltc-faq--tabs-underline .ltc-faq__tab.is-active{
    color:var(--ltc-primary) !important;
    border-bottom-color:var(--ltc-primary);
    background:none !important;
}
.ltc-faq--tabs-underline .ltc-faq__tab:hover i,
.ltc-faq--tabs-underline .ltc-faq__tab.is-active i{color:var(--ltc-primary) !important;}

/* Style 3 : BUTTONS */
.ltc-faq--tabs-buttons .ltc-faq__tab{
    background:#f5f5f5;
    border:1px solid var(--ltc-border);
    padding:12px 22px;
    border-radius:8px;
}
.ltc-faq--tabs-buttons .ltc-faq__tab:hover{
    background:#fff !important;
    border-color:var(--ltc-border-hover);
    color:var(--ltc-primary) !important;
}
.ltc-faq--tabs-buttons .ltc-faq__tab:hover i{color:var(--ltc-primary) !important;}
.ltc-faq--tabs-buttons .ltc-faq__tab.is-active{
    background:var(--ltc-dark) !important;
    color:#fff !important;
    border-color:var(--ltc-dark);
    box-shadow:0 4px 12px rgba(0,0,0,0.18);
}
.ltc-faq--tabs-buttons .ltc-faq__tab.is-active:hover{
    background:var(--ltc-dark) !important;
    color:#fff !important;
}
.ltc-faq--tabs-buttons .ltc-faq__tab.is-active i,
.ltc-faq--tabs-buttons .ltc-faq__tab.is-active:hover i{color:var(--ltc-primary) !important;}

/* Style 4 : SIDEBAR */
.ltc-faq--tabs-sidebar .ltc-faq__tabs{
    flex-direction:column;
    flex-wrap:nowrap;
    gap:4px;
    padding:8px;
    background:#fafafa;
    border:1px solid var(--ltc-border);
    border-radius:14px;
    margin-bottom:0;
    position:sticky;
    top:24px;
}
.ltc-faq--tabs-sidebar .ltc-faq__tab{
    width:100%;
    justify-content:flex-start;
    padding:12px 16px;
    border-radius:10px;
    border:1px solid transparent;
    text-align:left;
}
.ltc-faq--tabs-sidebar .ltc-faq__tab:hover{
    background:#fff !important;
    color:var(--ltc-primary) !important;
}
.ltc-faq--tabs-sidebar .ltc-faq__tab:hover i{color:var(--ltc-primary) !important;}
.ltc-faq--tabs-sidebar .ltc-faq__tab.is-active{
    background:#fff !important;
    border-color:var(--ltc-primary);
    box-shadow:0 4px 14px rgba(22,121,190,0.10);
    color:var(--ltc-primary) !important;
}
.ltc-faq--tabs-sidebar .ltc-faq__tab.is-active i{color:var(--ltc-primary) !important;}

/* Sans icônes */
.ltc-faq--no-tab-icons .ltc-faq__tab i{display:none;}

/* ╔══════════════════════════════════════════════════════════╗
   ║ PANELS                                                    ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq__panel{display:none;}
.ltc-faq__panel.is-active{
    display:block;
    animation:ltcFaqFade .55s cubic-bezier(.25,.8,.25,1);
}
@keyframes ltcFaqFade{
    from{opacity:0; transform:translateY(14px);}
    to{opacity:1; transform:translateY(0);}
}

/* Sans onglets : pas de marge */
.ltc-faq--no-tabs .ltc-faq__tabs{display:none;}


/* ╔══════════════════════════════════════════════════════════╗
   ║ ITEM COMMUN                                               ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq__item{
    margin-bottom:14px;
    overflow:hidden;
    transition:all .45s cubic-bezier(.25,.8,.25,1);
    box-sizing:border-box;
    position:relative;
}

/* Animation à l'apparition */
.ltc-faq--animate .ltc-faq__panel.is-active .ltc-faq__item{
    opacity:0;
    transform:translateY(16px);
    animation:ltcFaqItemFade .55s cubic-bezier(.25,.8,.25,1) forwards;
    animation-delay:var(--ltc-d, 0ms);
}
@keyframes ltcFaqItemFade{
    to{opacity:1; transform:translateY(0);}
}

.ltc-faq__question{
    width:100%;
    padding:22px 26px;
    background:transparent;
    border:none;
    text-align:left;
    font-size:15.5px;
    font-weight:600;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:18px;
    font-family:inherit;
    line-height:1.5;
    transition:color .35s;
    box-sizing:border-box;
    color:var(--ltc-dark);
}
.ltc-faq__question:hover{color:var(--ltc-primary);}
.ltc-faq__q-text{flex:1; min-width:0; word-wrap:break-word;}

/* Icône d'ouverture */
.ltc-faq__icon{
    width:34px; height:34px;
    flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background:rgba(15,15,16,0.05);
    border-radius:50%;
    transition:all .45s cubic-bezier(.25,.8,.25,1);
    color:var(--ltc-dark);
}
.ltc-faq__icon svg{width:16px; height:16px;}
.ltc-faq__item.is-open .ltc-faq__icon{
    background:linear-gradient(135deg, var(--ltc-primary) 0%, var(--ltc-secondary) 100%);
    color:#fff;
    box-shadow:0 4px 14px rgba(22,121,190,0.32);
}

/* Icône CHEVRON / ARROW / CARET — rotation à l'ouverture */
.ltc-faq--icon-chevron .ltc-faq__item.is-open .ltc-faq__icon,
.ltc-faq--icon-arrow .ltc-faq__item.is-open .ltc-faq__icon,
.ltc-faq--icon-caret .ltc-faq__item.is-open .ltc-faq__icon{
    transform:rotate(180deg);
}

/* Icône PLUS — barre verticale qui rétracte */
.ltc-faq--icon-plus .ltc-faq__icon-vertical{
    transition:transform .45s cubic-bezier(.25,.8,.25,1);
    transform-origin:center;
}
.ltc-faq--icon-plus .ltc-faq__item.is-open .ltc-faq__icon-vertical{
    transform:scaleY(0);
}

/* Numéro (mode plus uniquement) */
.ltc-faq__num{
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    color:var(--ltc-primary);
    background:rgba(22,121,190,0.08);
    padding:4px 9px;
    border-radius:6px;
    flex-shrink:0;
    font-variant-numeric:tabular-nums;
}

/* Réponse — animation max-height */
.ltc-faq__answer{
    max-height:0;
    overflow:hidden;
    transition:max-height .55s cubic-bezier(.4,0,.2,1);
}
.ltc-faq__item.is-open .ltc-faq__answer{
    /* JS définira max-height */
}
.ltc-faq__answer-inner{
    padding:0 26px 24px;
    font-size:14.5px;
    color:var(--ltc-text-soft);
    line-height:1.75;
    word-wrap:break-word;
}
.ltc-faq__answer-inner::before{
    content:'';
    display:block;
    height:1px;
    background:linear-gradient(90deg, var(--ltc-primary) 0%, var(--ltc-secondary) 50%, transparent 100%);
    margin-bottom:20px;
    opacity:0.35;
}


/* ╔══════════════════════════════════════════════════════════╗
   ║ LAYOUT 1 — MODERN (cartes avec accent gauche)            ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq--modern .ltc-faq__item{
    background:var(--ltc-bg-card);
    border:1px solid var(--ltc-border);
    border-radius:12px;
    box-shadow:0 1px 3px rgba(0,0,0,0.03);
}
/* Trait d'accent gauche révélé au hover/open */
.ltc-faq--modern .ltc-faq__item::before{
    content:'';
    position:absolute;
    left:0; top:0; bottom:0;
    width:3px;
    background:linear-gradient(180deg, var(--ltc-primary) 0%, var(--ltc-secondary) 100%);
    opacity:0;
    transition:opacity .45s cubic-bezier(.25,.8,.25,1);
    border-radius:3px 0 0 3px;
}
.ltc-faq--modern .ltc-faq__item:hover{
    border-color:var(--ltc-border-hover);
    box-shadow:0 4px 16px rgba(0,0,0,0.06), 0 12px 32px rgba(22,121,190,0.06);
    transform:translateY(-1px);
}
.ltc-faq--modern .ltc-faq__item:hover::before{opacity:0.6;}
.ltc-faq--modern .ltc-faq__item.is-open{
    border-color:var(--ltc-primary);
    box-shadow:0 4px 16px rgba(0,0,0,0.06), 0 16px 40px rgba(22,121,190,0.12);
}
.ltc-faq--modern .ltc-faq__item.is-open::before{opacity:1;}


/* ╔══════════════════════════════════════════════════════════╗
   ║ LAYOUT 2 — MINIMAL (lignes épurées)                      ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq--minimal .ltc-faq__item{
    border:none;
    border-bottom:1px solid var(--ltc-border);
    border-radius:0 !important;
    margin-bottom:0;
    background:none;
    box-shadow:none;
}
.ltc-faq--minimal .ltc-faq__item:first-child{
    border-top:1px solid var(--ltc-border);
}
.ltc-faq--minimal .ltc-faq__question{
    padding:24px 0;
}
.ltc-faq--minimal .ltc-faq__answer-inner{
    padding:0 0 24px;
}
.ltc-faq--minimal .ltc-faq__icon{
    background:none;
    border:1px solid var(--ltc-border);
}
.ltc-faq--minimal .ltc-faq__item:hover .ltc-faq__icon{
    border-color:var(--ltc-primary);
    color:var(--ltc-primary);
}


/* ╔══════════════════════════════════════════════════════════╗
   ║ LAYOUT 3 — BOXED (cartes avec fond coloré)               ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq--boxed .ltc-faq__item{
    background:#fafafa;
    border:none;
    border-radius:14px;
    box-shadow:none;
    transition:all .45s cubic-bezier(.25,.8,.25,1);
}
.ltc-faq--boxed .ltc-faq__item:hover{
    background:#f5f5f5;
    transform:translateY(-2px);
}
.ltc-faq--boxed .ltc-faq__item.is-open{
    background:linear-gradient(135deg, rgba(22,121,190,0.04) 0%, rgba(0,0,0,0.04) 100%);
    box-shadow:0 8px 24px rgba(22,121,190,0.10);
}


/* ╔══════════════════════════════════════════════════════════╗
   ║ LAYOUT 4 — NUMBERED (avec gros numéros)                  ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq--numbered{
    counter-reset:ltc-faq-counter;
}
.ltc-faq--numbered .ltc-faq__panel.is-active{
    counter-reset:ltc-faq-counter;
}
.ltc-faq--numbered .ltc-faq__item{
    background:var(--ltc-bg-card);
    border:1px solid var(--ltc-border);
    border-radius:12px;
    counter-increment:ltc-faq-counter;
    padding-left:0;
    box-shadow:0 1px 3px rgba(0,0,0,0.03);
}
.ltc-faq--numbered .ltc-faq__question{
    padding-left:80px;
    position:relative;
}
.ltc-faq--numbered .ltc-faq__question::before{
    content:counter(ltc-faq-counter, decimal-leading-zero);
    position:absolute;
    left:24px; top:50%;
    transform:translateY(-50%);
    font-size:24px;
    font-weight:800;
    color:transparent;
    -webkit-text-stroke:1.5px var(--ltc-primary);
    letter-spacing:-0.02em;
    transition:all .45s cubic-bezier(.25,.8,.25,1);
}
.ltc-faq--numbered .ltc-faq__item.is-open .ltc-faq__question::before{
    color:var(--ltc-primary);
    -webkit-text-stroke:0;
}
.ltc-faq--numbered .ltc-faq__answer-inner{padding-left:80px;}
.ltc-faq--numbered .ltc-faq__item:hover{
    border-color:var(--ltc-border-hover);
    transform:translateY(-1px);
    box-shadow:0 4px 14px rgba(22,121,190,0.06);
}
.ltc-faq--numbered .ltc-faq__item.is-open{
    border-color:var(--ltc-primary);
    box-shadow:0 8px 24px rgba(22,121,190,0.12);
}


/* ╔══════════════════════════════════════════════════════════╗
   ║ LAYOUT 5 — SPLIT (Q à gauche, R à droite)                ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq--split .ltc-faq__item{
    background:none;
    border:none;
    border-bottom:1px solid var(--ltc-border);
    border-radius:0;
    box-shadow:none;
    margin-bottom:0;
    padding:24px 0;
}
.ltc-faq--split .ltc-faq__question{
    display:grid;
    grid-template-columns:1fr 2fr auto;
    gap:24px;
    padding:0;
    align-items:start;
    text-align:left;
}
.ltc-faq--split .ltc-faq__q-text{
    font-size:18px;
    font-weight:700;
    line-height:1.3;
}
.ltc-faq--split .ltc-faq__answer{grid-column:2 / 3;}
.ltc-faq--split .ltc-faq__answer-inner{
    padding:0;
    margin-top:12px;
}
.ltc-faq--split .ltc-faq__answer-inner::before{display:none;}
.ltc-faq--split .ltc-faq__icon{align-self:flex-start;}

/* En split, on transforme l'item en grille */
.ltc-faq--split .ltc-faq__item{display:block;}

@media(max-width:768px){
    .ltc-faq--split .ltc-faq__question{
        grid-template-columns:1fr auto;
        gap:14px;
    }
    .ltc-faq--split .ltc-faq__answer{grid-column:1 / -1;}
}


/* ╔══════════════════════════════════════════════════════════╗
   ║ NO-RESULT (recherche)                                     ║
   ╚══════════════════════════════════════════════════════════╝ */
.ltc-faq__no-result{
    text-align:center;
    padding:48px 24px;
    color:var(--ltc-text-soft);
    font-size:15px;
}


/* ╔══════════════════════════════════════════════════════════╗
   ║ RESPONSIVE                                                ║
   ╚══════════════════════════════════════════════════════════╝ */
@media(max-width:768px){
    .ltc-faq{padding:16px 14px;}
    .ltc-faq__header{margin-bottom:32px;}
    .ltc-faq__tabs{gap:8px; margin-bottom:28px;}
    .ltc-faq--tabs-pills .ltc-faq__tab{padding:10px 16px; font-size:12.5px;}
    .ltc-faq--tabs-pills .ltc-faq__tab i{font-size:13px;}
    .ltc-faq--tabs-buttons .ltc-faq__tab{padding:11px 18px; font-size:13px;}
    .ltc-faq--tabs-underline .ltc-faq__tab{padding:12px 14px; font-size:13px;}

    .ltc-faq__item{margin-bottom:10px;}
    .ltc-faq__question{
        padding:16px 16px !important;
        font-size:14px !important;
        gap:12px !important;
        line-height:1.45 !important;
        align-items:flex-start !important;
    }
    .ltc-faq__q-text{
        display:-webkit-box !important;
        -webkit-box-orient:vertical !important;
        -webkit-line-clamp:3 !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        word-wrap:break-word !important;
        overflow-wrap:break-word !important;
        hyphens:auto !important;
    }
    .ltc-faq__item.is-open .ltc-faq__q-text{
        -webkit-line-clamp:unset !important;
        display:block !important;
        overflow:visible !important;
    }
    .ltc-faq__icon{width:30px !important; height:30px !important; margin-top:2px !important;}
    .ltc-faq__answer-inner{padding:0 16px 18px; font-size:14px;}

    /* Numbered */
    .ltc-faq--numbered .ltc-faq__question{padding-left:62px !important;}
    .ltc-faq--numbered .ltc-faq__question::before{left:14px; font-size:20px;}
    .ltc-faq--numbered .ltc-faq__answer-inner{padding-left:62px !important;}

    /* Minimal */
    .ltc-faq--minimal .ltc-faq__question{padding:18px 0 !important;}
    .ltc-faq--minimal .ltc-faq__answer-inner{padding:0 0 18px !important;}

    /* Split sur mobile */
    .ltc-faq--split .ltc-faq__question{padding:0 !important;}
    .ltc-faq--split .ltc-faq__q-text{
        -webkit-line-clamp:unset !important;
        display:block !important;
        font-size:15px;
    }
}

@media(max-width:420px){
    .ltc-faq__question{padding:14px 12px !important; font-size:13.5px !important;}
    .ltc-faq__icon{width:28px !important; height:28px !important;}
    .ltc-faq__num{display:none;}
}
