/* ═══════════════════════════════════════════════════════════════════════
   Thème NFC — universcarte.com v2 (2026)
   Scoped sous .cp-page--v2 : zéro impact sur le reste du site.
   Palette : cyan #06b6d4 · bleu #0284c7 · orange #f97316 (CTA)
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── Variables thème NFC ─────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) {
    --nfc-cyan:        #06b6d4;
    --nfc-cyan-dark:   #0284c7;
    --nfc-cyan-light:  rgba(6, 182, 212, .08);
    --nfc-cyan-glow:   rgba(6, 182, 212, .18);
    --nfc-navy:        #0c4a6e;
    --nfc-orange:      #f97316;
    --nfc-orange-dark: #ea580c;
    --nfc-text:        #0f172a;
    --nfc-text-light:  #475569;
    --nfc-text-xlight: #94a3b8;
    --nfc-bg:          #ffffff;
    --nfc-bg-soft:     #f0f9ff;
    --nfc-bg-card:     #ffffff;
    --nfc-border:      #e0f2fe;
    --nfc-border-dark: #bae6fd;
    --nfc-radius-sm:   10px;
    --nfc-radius-md:   16px;
    --nfc-radius-lg:   22px;
    --nfc-shadow-sm:   0 1px 4px rgba(12, 74, 110, .06);
    --nfc-shadow-md:   0 4px 16px rgba(12, 74, 110, .09);
    --nfc-shadow-lg:   0 8px 32px rgba(12, 74, 110, .12);
    --nfc-ease:        cubic-bezier(.4, 0, .2, 1);
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
    color: var(--nfc-text);
    line-height: 1.7;
    background: transparent;
}

/* ─── Breadcrumb ──────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    padding: 0;
    margin: 0 0 20px;
    list-style: none;
    font-size: .82rem;
    color: var(--nfc-text-light);
}
.cp-page--v2:not(.cp-page--printer) .cp-breadcrumb li + li::before {
    content: '›';
    margin-right: 6px;
    opacity: .45;
}
.cp-page--v2:not(.cp-page--printer) .cp-breadcrumb a {
    color: var(--nfc-text-light);
    text-decoration: none;
    transition: color .2s;
}
.cp-page--v2:not(.cp-page--printer) .cp-breadcrumb a:hover { color: var(--nfc-cyan); }
.cp-page--v2:not(.cp-page--printer) .cp-breadcrumb__current { color: var(--nfc-text); font-weight: 600; }

/* ─── Hero compact ────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact {
    position: relative;
    background: linear-gradient(135deg, var(--nfc-navy) 0%, #075985 45%, var(--nfc-cyan-dark) 100%);
    color: #fff;
    border-radius: var(--nfc-radius-lg);
    padding: 36px 40px;
    margin-bottom: 28px;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 32px;
}
/* Motif de fond — ondes NFC */
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 80% 30%, rgba(6, 182, 212, .22) 0%, transparent 55%),
        radial-gradient(circle at 20% 80%, rgba(2, 132, 199, .18) 0%, transparent 45%);
    pointer-events: none;
}
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact::after {
    content: '';
    position: absolute;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    width: 180px;
    height: 180px;
    border-radius: 50%;
    border: 28px solid rgba(6, 182, 212, .12);
    box-shadow:
        0 0 0 18px rgba(6, 182, 212, .07),
        0 0 0 36px rgba(6, 182, 212, .04);
    pointer-events: none;
}
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact__image {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    max-width: 45%;
    object-fit: cover;
    object-position: center;
    opacity: .18;
    pointer-events: none;
}
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact__left {
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(6, 182, 212, .2);
    border: 1px solid rgba(6, 182, 212, .35);
    padding: 4px 14px;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #bae6fd;
    margin-bottom: 12px;
}
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact__title {
    font-size: clamp(1.5rem, 3.5vw, 2.1rem);
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 12px;
    letter-spacing: -.02em;
}
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact__sub {
    font-size: clamp(.9rem, 1.5vw, 1.05rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, .82);
    margin: 0;
    max-width: 620px;
}
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact__sub strong { color: #7dd3fc; }

/* Hero search (FAQ) */
.cp-page--v2:not(.cp-page--printer) .cp-hero--compact__search {
    position: relative;
    z-index: 1;
    margin-top: 18px;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .22);
    backdrop-filter: blur(10px);
    border-radius: 999px;
    padding: 0 14px;
    max-width: 500px;
}
.cp-page--v2:not(.cp-page--printer) .cp-search__icon { color: rgba(255,255,255,.6); font-size: .9rem; flex-shrink: 0; }
.cp-page--v2:not(.cp-page--printer) .cp-search__input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    padding: 12px 10px;
    color: #fff;
    font-size: .95rem;
}
.cp-page--v2:not(.cp-page--printer) .cp-search__input::placeholder { color: rgba(255,255,255,.5); }
.cp-page--v2:not(.cp-page--printer) .cp-search__count { color: rgba(255,255,255,.6); font-size: .8rem; white-space: nowrap; }
.cp-page--v2:not(.cp-page--printer) .cp-search__clear { background: none; border: none; color: rgba(255,255,255,.5); cursor: pointer; font-size: 1rem; padding: 4px; }

@media (max-width: 640px) {
    .cp-page--v2:not(.cp-page--printer) .cp-hero--compact {
        padding: 24px 20px;
        flex-direction: column;
        align-items: flex-start;
    }
    .cp-page--v2:not(.cp-page--printer) .cp-hero--compact::after { display: none; }
    .cp-page--v2:not(.cp-page--printer) .cp-hero--compact__image { display: none; }
}

/* ─── Quicknav NFC ────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-quicknav {
    background: #fff;
    border: 1px solid var(--nfc-border);
    border-radius: var(--nfc-radius-md);
    box-shadow: var(--nfc-shadow-sm);
    padding: 0;
    margin-bottom: 24px;
    overflow: hidden;
}
.cp-page--v2:not(.cp-page--printer) .cp-quicknav--guide-sticky {
    position: sticky;
    top: 8px;
    z-index: 50;
}
.cp-page--v2:not(.cp-page--printer) .cp-quicknav__main {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--nfc-border);
}
.cp-page--v2:not(.cp-page--printer) .cp-quicknav__group { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cp-page--v2:not(.cp-page--printer) .cp-quicknav__label {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--nfc-text-xlight);
    white-space: nowrap;
}
.cp-page--v2:not(.cp-page--printer) .cp-quicknav__pills { display: flex; flex-wrap: wrap; gap: 6px; }
.cp-page--v2:not(.cp-page--printer) .cp-quicknav__pill {
    display: inline-block;
    padding: 5px 14px;
    background: var(--nfc-bg-soft);
    border: 1px solid var(--nfc-border);
    border-radius: 999px;
    font-size: .83rem;
    font-weight: 500;
    color: var(--nfc-text-light);
    text-decoration: none;
    transition: all .18s var(--nfc-ease);
}
.cp-page--v2:not(.cp-page--printer) .cp-quicknav__pill:hover {
    background: var(--nfc-cyan-light);
    border-color: var(--nfc-border-dark);
    color: var(--nfc-cyan-dark);
}
.cp-page--v2:not(.cp-page--printer) .cp-quicknav__pill--accent {
    background: var(--nfc-cyan-light);
    border-color: var(--nfc-border-dark);
    color: var(--nfc-cyan-dark);
    font-weight: 600;
}

/* Boutons d'action quicknav */
.cp-page--v2:not(.cp-page--printer) .cp-quicknav__actions {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 10px 18px;
    flex-wrap: wrap;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .18s var(--nfc-ease);
    background: var(--nfc-bg-soft);
    border: 1px solid var(--nfc-border);
    color: var(--nfc-text-light);
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-action-btn:hover {
    background: var(--nfc-cyan-light);
    border-color: var(--nfc-border-dark);
    color: var(--nfc-cyan-dark);
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-action-btn--lead {
    background: var(--nfc-orange);
    border-color: var(--nfc-orange-dark);
    color: #fff;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-action-btn--lead:hover {
    background: var(--nfc-orange-dark);
    border-color: #c2410c;
    color: #fff;
}

/* ─── Introduction ────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-guide-intro {
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--nfc-text-light);
    background: var(--nfc-bg-soft);
    border-left: 4px solid var(--nfc-cyan);
    border-radius: 0 var(--nfc-radius-sm) var(--nfc-radius-sm) 0;
    padding: 16px 20px;
    margin: 0 0 24px;
}

/* ─── Sections ────────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-section {
    margin: 32px 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-section__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--nfc-navy);
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--nfc-border);
    letter-spacing: -.01em;
}
.cp-page--v2:not(.cp-page--printer) .cp-section__title i { color: var(--nfc-cyan); font-size: 1.1rem; }
.cp-page--v2:not(.cp-page--printer) .cp-section p { margin: 0 0 1em; color: var(--nfc-text-light); line-height: 1.75; }
.cp-page--v2:not(.cp-page--printer) .cp-section ul,
.cp-page--v2:not(.cp-page--printer) .cp-section ol { padding-left: 1.5em; margin: 0 0 1em; }
.cp-page--v2:not(.cp-page--printer) .cp-section li { margin-bottom: .4em; color: var(--nfc-text-light); }
.cp-page--v2:not(.cp-page--printer) .cp-section strong { color: var(--nfc-text); font-weight: 600; }
.cp-page--v2:not(.cp-page--printer) .cp-section a { color: var(--nfc-cyan-dark); text-decoration: underline; text-decoration-color: var(--nfc-border-dark); }
.cp-page--v2:not(.cp-page--printer) .cp-section a:hover { color: var(--nfc-cyan); }

/* ─── Guide hub (cartes NFC) ──────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 14px;
    margin: 24px 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    background: var(--nfc-bg-card);
    border: 1px solid var(--nfc-border);
    border-radius: var(--nfc-radius-md);
    text-decoration: none;
    color: var(--nfc-text);
    transition: all .2s var(--nfc-ease);
    position: relative;
    overflow: hidden;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--nfc-cyan), var(--nfc-cyan-dark));
    opacity: 0;
    transition: opacity .2s;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__card:hover {
    border-color: var(--nfc-border-dark);
    box-shadow: var(--nfc-shadow-md);
    transform: translateY(-2px);
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__card:hover::before { opacity: 1; }
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__icon {
    font-size: 1.6rem;
    color: var(--nfc-cyan);
    line-height: 1;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__label {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--nfc-cyan-dark);
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--nfc-navy);
    margin: 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__desc {
    font-size: .875rem;
    color: var(--nfc-text-light);
    line-height: 1.55;
    margin: 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__cta {
    margin-top: auto;
    font-size: .82rem;
    font-weight: 600;
    color: var(--nfc-cyan-dark);
    display: flex;
    align-items: center;
    gap: 4px;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-hub__cta::after { content: '→'; }

/* ─── Cross links ─────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-cross-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 24px 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-cross-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: var(--nfc-bg-soft);
    border: 1px solid var(--nfc-border);
    border-radius: var(--nfc-radius-sm);
    text-decoration: none;
    color: var(--nfc-text);
    transition: all .18s var(--nfc-ease);
}
.cp-page--v2:not(.cp-page--printer) .cp-cross-link:hover {
    background: var(--nfc-cyan-light);
    border-color: var(--nfc-border-dark);
    transform: translateX(3px);
}
.cp-page--v2:not(.cp-page--printer) .cp-cross-link__icon {
    width: 36px;
    height: 36px;
    background: var(--nfc-cyan-glow);
    border-radius: 8px;
    display: grid;
    place-items: center;
    color: var(--nfc-cyan-dark);
    font-size: 1rem;
    flex-shrink: 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-cross-link__text { flex: 1; }
.cp-page--v2:not(.cp-page--printer) .cp-cross-link__title { display: block; font-weight: 600; font-size: .95rem; }
.cp-page--v2:not(.cp-page--printer) .cp-cross-link__desc { display: block; font-size: .82rem; color: var(--nfc-text-light); }
.cp-page--v2:not(.cp-page--printer) .cp-cross-link__arrow { color: var(--nfc-cyan); font-size: .85rem; }

/* ─── CTA ─────────────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-cta {
    border-radius: var(--nfc-radius-md);
    padding: 32px;
    margin: 32px 0;
    text-align: center;
}
.cp-page--v2:not(.cp-page--printer) .cp-cta--final {
    background: linear-gradient(135deg, var(--nfc-navy) 0%, #075985 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.cp-page--v2:not(.cp-page--printer) .cp-cta--final::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 70% 40%, rgba(6, 182, 212, .18) 0%, transparent 60%);
    pointer-events: none;
}
.cp-page--v2:not(.cp-page--printer) .cp-cta--centered {
    background: var(--nfc-bg-soft);
    border: 1px solid var(--nfc-border);
}
.cp-page--v2:not(.cp-page--printer) .cp-cta__title {
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: -.02em;
    margin: 0 0 10px;
}
.cp-page--v2:not(.cp-page--printer) .cp-cta--final .cp-cta__title { color: #fff; }
.cp-page--v2:not(.cp-page--printer) .cp-cta--centered .cp-cta__title { color: var(--nfc-navy); }
.cp-page--v2:not(.cp-page--printer) .cp-cta__text { margin: 0 0 20px; }
.cp-page--v2:not(.cp-page--printer) .cp-cta--final .cp-cta__text { color: rgba(255,255,255,.82); }
.cp-page--v2:not(.cp-page--printer) .cp-cta--centered .cp-cta__text { color: var(--nfc-text-light); }
.cp-page--v2:not(.cp-page--printer) .cp-cta__buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}
.cp-page--v2:not(.cp-page--printer) .cp-cta__btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 12px 24px;
    border-radius: 999px;
    font-size: .95rem;
    font-weight: 700;
    text-decoration: none;
    transition: all .18s var(--nfc-ease);
    border: 2px solid transparent;
}
.cp-page--v2:not(.cp-page--printer) .cp-cta__btn--primary {
    background: var(--nfc-orange);
    color: #fff;
    border-color: var(--nfc-orange);
}
.cp-page--v2:not(.cp-page--printer) .cp-cta__btn--primary:hover {
    background: var(--nfc-orange-dark);
    border-color: var(--nfc-orange-dark);
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(249, 115, 22, .35);
}
.cp-page--v2:not(.cp-page--printer) .cp-cta__btn--secondary {
    background: var(--nfc-cyan);
    color: #fff;
    border-color: var(--nfc-cyan);
}
.cp-page--v2:not(.cp-page--printer) .cp-cta__btn--secondary:hover {
    background: var(--nfc-cyan-dark);
    border-color: var(--nfc-cyan-dark);
    transform: translateY(-1px);
}
.cp-page--v2:not(.cp-page--printer) .cp-cta__btn--outline {
    background: transparent;
    color: rgba(255,255,255,.9);
    border-color: rgba(255,255,255,.4);
}
.cp-page--v2:not(.cp-page--printer) .cp-cta__btn--outline:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.7);
}

/* ─── Support bar NFC ─────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-guide-support-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    background: linear-gradient(135deg, #fff7ed 0%, #fef3c7 100%);
    border: 1px solid #fed7aa;
    border-left: 5px solid var(--nfc-orange);
    border-radius: var(--nfc-radius-md);
    padding: 22px 28px;
    margin: 32px 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-support-bar__copy h2 {
    font-size: 1.1rem;
    font-weight: 700;
    color: #9a3412;
    margin: 0 0 6px;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-support-bar__copy p {
    font-size: .9rem;
    color: #b45309;
    margin: 0;
    line-height: 1.5;
}
.cp-page--v2:not(.cp-page--printer) .cp-guide-support-bar__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

/* ─── FAQ NFC ─────────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 32px;
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-item {
    background: #fff;
    border: 1px solid var(--nfc-border);
    border-radius: var(--nfc-radius-sm);
    overflow: hidden;
    transition: all .18s var(--nfc-ease);
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-item:hover {
    border-color: var(--nfc-border-dark);
    box-shadow: var(--nfc-shadow-sm);
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 20px;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    font-size: .95rem;
    font-weight: 600;
    color: var(--nfc-text);
    line-height: 1.45;
    gap: 12px;
    transition: background .15s;
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-question:hover { background: var(--nfc-bg-soft); }
.cp-page--v2:not(.cp-page--printer) .cp-faq-question[aria-expanded="true"] {
    color: var(--nfc-cyan-dark);
    background: var(--nfc-cyan-light);
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-question__icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1.5px solid var(--nfc-border);
    display: grid;
    place-items: center;
    color: var(--nfc-text-xlight);
    font-size: .7rem;
    transition: all .18s var(--nfc-ease);
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-question__icon::after { content: '+'; font-weight: 700; }
.cp-page--v2:not(.cp-page--printer) .cp-faq-question[aria-expanded="true"] .cp-faq-question__icon {
    background: var(--nfc-cyan);
    border-color: var(--nfc-cyan);
    color: #fff;
    rotate: 45deg;
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .22s var(--nfc-ease);
    border-top: 0;
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-question[aria-expanded="true"] + .cp-faq-answer {
    grid-template-rows: 1fr;
    border-top: 1px solid var(--nfc-border);
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-answer__inner {
    overflow: hidden;
    padding: 0 20px;
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-question[aria-expanded="true"] + .cp-faq-answer .cp-faq-answer__inner {
    padding: 16px 20px;
}
.cp-page--v2:not(.cp-page--printer) .cp-faq-answer__inner p { margin: 0 0 .75em; color: var(--nfc-text-light); line-height: 1.7; }
.cp-page--v2:not(.cp-page--printer) .cp-faq-answer__inner p:last-child { margin-bottom: 0; }
.cp-page--v2:not(.cp-page--printer) .cp-faq-answer__inner ul,
.cp-page--v2:not(.cp-page--printer) .cp-faq-answer__inner ol { padding-left: 1.4em; margin: 0 0 .75em; }
.cp-page--v2:not(.cp-page--printer) .cp-faq-answer__inner li { margin-bottom: .3em; color: var(--nfc-text-light); }
.cp-page--v2:not(.cp-page--printer) .cp-faq-answer__inner strong { color: var(--nfc-text); }

/* ─── #reco-accordion : compensation <button> strippé au seed ────────── */
/* Le <button class="cp-faq-question"> a été retiré par strip_tags lors du
   seeding. Les deux <span> (titre + icône) sont enfants directs de .cp-faq-item.
   On recrée le layout flex du bouton au niveau de l'item lui-même. */
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item {
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item > span:first-child {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    padding: 16px 12px 16px 20px;
    font-size: .95rem;
    font-weight: 600;
    color: var(--nfc-text);
    line-height: 1.45;
}
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item > .cp-faq-question__icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding: 16px 20px 16px 8px;
}
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item > .cp-faq-answer {
    flex: 0 0 100%;
}
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item:hover > span:first-child {
    color: var(--nfc-cyan-dark);
}
/* État ouvert via classe JS (.cp-faq-item--open) */
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item--open > span:first-child {
    color: var(--nfc-cyan-dark);
}
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item--open .cp-faq-question__icon {
    background: var(--nfc-cyan);
    border-color: var(--nfc-cyan);
    color: #fff;
    rotate: 45deg;
}
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item--open .cp-faq-answer {
    grid-template-rows: 1fr;
    border-top: 1px solid var(--nfc-border);
}
.cp-page--v2:not(.cp-page--printer) #reco-accordion .cp-faq-item--open .cp-faq-answer .cp-faq-answer__inner {
    padding: 16px 20px;
}

/* ─── SEO tags NFC ────────────────────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-tags {
    margin: 32px 0;
    padding: 20px;
    background: var(--nfc-bg-soft);
    border: 1px solid var(--nfc-border);
    border-radius: var(--nfc-radius-sm);
}
.cp-page--v2:not(.cp-page--printer) .cp-tags__title {
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--nfc-text-xlight);
    margin: 0 0 10px;
}
.cp-page--v2:not(.cp-page--printer) .cp-tags__list { display: flex; flex-wrap: wrap; gap: 8px; }
.cp-page--v2:not(.cp-page--printer) .cp-tag {
    display: inline-block;
    padding: 4px 12px;
    background: var(--nfc-cyan-light);
    border: 1px solid var(--nfc-border-dark);
    border-radius: 999px;
    font-size: .8rem;
    color: var(--nfc-cyan-dark);
    font-weight: 500;
}

/* ─── Tableau compat smartphones ──────────────────────────────────────── */
.cp-page--v2:not(.cp-page--printer) .cp-compat-toolbar {
    margin-bottom: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.cp-page--v2:not(.cp-page--printer) .cp-compat-search {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 200px;
    background: #fff;
    border: 1px solid var(--nfc-border);
    border-radius: 999px;
    padding: 0 14px;
}
.cp-page--v2:not(.cp-page--printer) .cp-compat-search__input {
    flex: 1;
    border: none;
    outline: none;
    padding: 10px 0;
    font-size: .9rem;
}
.cp-page--v2:not(.cp-page--printer) .cp-compat-filter {
    padding: 8px 12px;
    border: 1px solid var(--nfc-border);
    border-radius: 8px;
    font-size: .88rem;
    background: #fff;
}
.cp-page--v2:not(.cp-page--printer) .cp-compat-icon--yes { color: #16a34a; font-weight: 700; }
.cp-page--v2:not(.cp-page--printer) .cp-compat-icon--no { color: #dc2626; }
.cp-page--v2:not(.cp-page--printer) .cp-compat-icon--limited { color: #d97706; font-size: .8rem; }
.cp-page--v2:not(.cp-page--printer) .cp-compat-icon--format { color: #7c3aed; font-size: .8rem; }
.cp-page--v2:not(.cp-page--printer) .cp-compat-table-wrap { overflow-x: auto; border-radius: var(--nfc-radius-sm); box-shadow: var(--nfc-shadow-sm); }
.cp-page--v2:not(.cp-page--printer) .cp-compat-table { width: 100%; border-collapse: collapse; font-size: .88rem; background: #fff; }
.cp-page--v2:not(.cp-page--printer) .cp-compat-table th { background: var(--nfc-bg-soft); font-weight: 600; color: var(--nfc-navy); padding: 10px 14px; text-align: left; border-bottom: 2px solid var(--nfc-border); }
.cp-page--v2:not(.cp-page--printer) .cp-compat-table td { padding: 9px 14px; border-bottom: 1px solid var(--nfc-border); vertical-align: middle; }
.cp-page--v2:not(.cp-page--printer) .cp-compat-table tr:hover td { background: var(--nfc-bg-soft); }
