/* Club Alex Borg 8.15.9.7.7 — badge AI autonome + explication discrète Day/Night. */
.cab-ai-disclosure-dialog { max-width: 31rem; }
.cab-ai-learn-dialog { max-width: 37rem; }
.cab-ai-disclosure-card,
.cab-ai-learn-card {
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 1.1rem;
    overflow: hidden;
    background: #ffffff;
    color: #172033;
    box-shadow: 0 24px 70px rgba(15,23,42,.22);
}
.cab-ai-disclosure-header { padding: 1rem 1.1rem .55rem; align-items: flex-start; }
.cab-ai-disclosure-kicker { color: #0d6efd; font-size: .67rem; font-weight: 800; letter-spacing: .07em; }
.cab-ai-disclosure-header .modal-title { font-size: 1.28rem; font-weight: 760; }
.cab-ai-disclosure-body { padding: .65rem 1.1rem 1rem; }
.cab-ai-disclosure-info,
.cab-ai-disclosure-choice { border: 1px solid #dbe3ef; background: #f8fafc; border-radius: .85rem; padding: .9rem; }
.cab-ai-disclosure-info { color: #334155; font-size: .9rem; line-height: 1.48; }
.cab-ai-info-badge { display: inline-flex; align-items: center; gap: .28rem; margin-bottom: .72rem; color: #2563eb; font-size: .74rem; font-weight: 850; }
.cab-ai-info-badge span { display: inline-flex; width: 1rem; height: 1rem; align-items: center; justify-content: center; border: 1px solid currentColor; border-radius: 50%; font-size: .62rem; }
.cab-ai-info-lead { color: #172033; }
.cab-ai-info-fine { color: #64748b; font-size: .82rem; }
.cab-ai-disclosure-choice { display: flex; align-items: center; justify-content: space-between; gap: 1rem; cursor: pointer; }
.cab-ai-disclosure-choice > span:first-child { display: grid; gap: .18rem; min-width: 0; }
.cab-ai-disclosure-choice strong { font-size: .9rem; }
.cab-ai-disclosure-choice small { color: #64748b; font-size: .76rem; line-height: 1.3; }
.cab-ai-disclosure-note { margin-top: .7rem; color: #64748b; font-size: .75rem; line-height: 1.35; }
.cab-ai-disclosure-footer { padding: .75rem 1.1rem 1rem; gap: .45rem; }

/* L’auteur reste cliquable/survolable, mais le badge AI vit désormais hors du trigger profil. */
.blog-person-meta-profile {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-width: 0;
    flex: 0 1 auto;
    border-radius: .48rem;
    padding: .08rem .12rem;
    margin: -.08rem 0 -.08rem -.12rem;
    transition: background-color 140ms ease, color 140ms ease;
}
.blog-person-meta-profile .blog-person-meta-name {
    min-width: 0;
    max-width: min(13rem, 38vw);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.blog-person-meta-profile[data-profile-hover-linkable="1"] { cursor: pointer; outline: none; }
.blog-person-meta-profile[data-profile-hover-linkable="1"]:hover,
.blog-person-meta-profile[data-profile-hover-linkable="1"]:focus-visible { background: rgba(37, 99, 235, .08); color: #0f172a; }
.blog-person-meta-profile[data-profile-hover-linkable="1"] .blog-person-meta-name { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: .14em; transition: text-decoration-color 140ms ease; }
.blog-person-meta-profile[data-profile-hover-linkable="1"]:hover .blog-person-meta-name,
.blog-person-meta-profile[data-profile-hover-linkable="1"]:focus-visible .blog-person-meta-name { text-decoration-color: currentColor; }
.blog-person-meta-inline > .blog-person-meta-text { flex: 1 1 auto; }

.blog-post-ai-indicator {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .15rem;
    margin: 0 .08rem 0 0;
    color: #3978c8;
    font-size: .61rem;
    font-weight: 850;
    line-height: 1;
    vertical-align: .04em;
    cursor: pointer;
    outline: none;
    white-space: nowrap;
    isolation: isolate;
}
.blog-post-ai-indicator-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: .78rem;
    height: .78rem;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: .5rem;
    font-weight: 900;
    line-height: 1;
}
.blog-post-ai-indicator-label { letter-spacing: .015em; }
.blog-post-ai-indicator::after {
    content: attr(data-ai-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + .48rem);
    z-index: 2260;
    width: max-content;
    max-width: min(16rem, 72vw);
    padding: .42rem .55rem;
    border-radius: .52rem;
    background: #172033;
    color: #fff;
    box-shadow: 0 8px 24px rgba(15,23,42,.2);
    font-size: .68rem;
    font-weight: 550;
    line-height: 1.3;
    text-align: left;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, .18rem);
    transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
    pointer-events: none;
}
.blog-post-ai-indicator:hover::after,
.blog-post-ai-indicator:focus-visible::after,
.blog-post-ai-indicator:focus::after { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.blog-post-ai-indicator:focus-visible { border-radius: .35rem; box-shadow: 0 0 0 2px rgba(37,99,235,.22); }

.cab-ai-learn-body { padding: .6rem 1.1rem 1rem; max-height: min(64vh, 31rem); overflow-y: auto; overscroll-behavior: contain; }
.cab-ai-learn-intro { margin: 0 0 .9rem; color: #475569; font-size: .9rem; line-height: 1.5; }
.cab-ai-learn-grid { display: grid; gap: .65rem; }
.cab-ai-learn-item { display: grid; grid-template-columns: 1.7rem minmax(0,1fr); gap: .65rem; padding: .72rem .78rem; border: 1px solid #e2e8f0; border-radius: .82rem; background: #fbfdff; }
.cab-ai-learn-icon { display: flex; align-items: center; justify-content: center; width: 1.55rem; height: 1.55rem; border-radius: .5rem; background: #eaf2ff; color: #2563eb; font-size: .72rem; font-weight: 850; }
.cab-ai-learn-item h3 { margin: 0 0 .14rem; font-size: .86rem; font-weight: 780; color: #172033; }
.cab-ai-learn-item p { margin: 0; color: #5d6b80; font-size: .79rem; line-height: 1.42; }
.cab-ai-learn-note { margin-top: .75rem; padding: .72rem .8rem; border-radius: .82rem; background: #eef5ff; color: #355275; font-size: .8rem; line-height: 1.43; }

/* Les deux modales sont compactes, centrées et isolées du shell, en Day comme en Night. */
.cab-ai-disclosure-modal,
.cab-ai-learn-modal { z-index: 2180 !important; }
.cab-ai-disclosure-modal.show,
.cab-ai-learn-modal.show { display: flex !important; align-items: center !important; justify-content: center !important; padding: 1rem !important; }
body.cab-ai-disclosure-open > .modal-backdrop.show,
body.cab-ai-disclosure-open .modal-backdrop.show { z-index: 2170 !important; background: rgba(15, 23, 42, .42) !important; opacity: 1 !important; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.cab-ai-disclosure-fallback-backdrop { position: fixed; inset: 0; z-index: 2170; background: rgba(15, 23, 42, .42); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }

/* NIGHT */
[data-theme="dark"] .cab-ai-disclosure-card,
[data-theme="dark"] .cab-ai-learn-card { background: #111827; color: #f8fafc; border-color: rgba(125, 180, 255, .16); box-shadow: 0 26px 78px rgba(2,6,23,.62); }
[data-theme="dark"] .cab-ai-disclosure-info,
[data-theme="dark"] .cab-ai-disclosure-choice { background: #172033; border-color: #334155; color: #e5edf8; }
[data-theme="dark"] .cab-ai-info-lead,
[data-theme="dark"] .cab-ai-learn-item h3 { color: #f1f5f9; }
[data-theme="dark"] .cab-ai-info-fine,
[data-theme="dark"] .cab-ai-disclosure-choice small,
[data-theme="dark"] .cab-ai-disclosure-note,
[data-theme="dark"] .cab-ai-learn-intro,
[data-theme="dark"] .cab-ai-learn-item p { color: #a8b6ca; }
[data-theme="dark"] .cab-ai-learn-item { background: #151f31; border-color: #2b3b55; }
[data-theme="dark"] .cab-ai-learn-icon { background: #20355a; color: #8bbcff; }
[data-theme="dark"] .cab-ai-learn-note { background: #172b49; color: #bfd6f4; }
[data-theme="dark"] .blog-post-ai-indicator { color: #82b8ff; }
[data-theme="dark"] .blog-post-ai-indicator::after { background: #eef4ff; color: #152033; box-shadow: 0 10px 28px rgba(0,0,0,.38); }
[data-theme="dark"] .blog-person-meta-profile[data-profile-hover-linkable="1"]:hover,
[data-theme="dark"] .blog-person-meta-profile[data-profile-hover-linkable="1"]:focus-visible { background: rgba(125,180,255,.12); color: #e6ebf5; }
[data-theme="dark"] .cab-ai-disclosure-card .btn-close,
[data-theme="dark"] .cab-ai-learn-card .btn-close { filter: invert(1) grayscale(100%) brightness(190%); opacity: .78; }
[data-theme="dark"] .cab-ai-disclosure-card .btn-light,
[data-theme="dark"] .cab-ai-learn-card .btn-light { background: #1d293b; border-color: #334155; color: #e8eef8; }
[data-theme="dark"] .cab-ai-disclosure-card .btn-outline-primary { color: #8bbcff; border-color: #4776b5; }
[data-theme="dark"] .cab-ai-disclosure-card .btn-outline-primary:hover { background: #24446f; color: #fff; }

@media (max-width: 767.98px) {
    body.clubos-mobile-active .cab-ai-disclosure-modal,
    body.clubos-mobile-active .cab-ai-learn-modal,
    .cab-ai-disclosure-modal,
    .cab-ai-learn-modal { padding: .75rem !important; }
    body.clubos-mobile-active .cab-ai-disclosure-modal .modal-dialog,
    body.clubos-mobile-active .cab-ai-learn-modal .modal-dialog,
    .cab-ai-disclosure-modal .modal-dialog,
    .cab-ai-learn-modal .modal-dialog { width: min(calc(100vw - 1.25rem), 37rem) !important; max-width: 37rem !important; min-height: 0 !important; height: auto !important; margin: auto !important; display: flex !important; align-items: center !important; }
    body.clubos-mobile-active .cab-ai-disclosure-modal .modal-content,
    body.clubos-mobile-active .cab-ai-learn-modal .modal-content,
    .cab-ai-disclosure-modal .modal-content,
    .cab-ai-learn-modal .modal-content { width: 100% !important; min-height: 0 !important; height: auto !important; max-height: min(82dvh, 38rem) !important; border-radius: 1.15rem !important; overflow: hidden !important; }
    .cab-ai-disclosure-body,
    .cab-ai-learn-body { overflow-y: auto; overscroll-behavior: contain; }
    .cab-ai-disclosure-footer { flex-wrap: wrap; }
    .cab-ai-learn-item { grid-template-columns: 1.55rem minmax(0,1fr); gap: .55rem; padding: .65rem .68rem; }
    .cab-ai-learn-body { max-height: 58dvh; }
}

@media (max-width: 420px) {
    .cab-ai-disclosure-header { padding: .88rem .92rem .42rem; }
    .cab-ai-disclosure-body,
    .cab-ai-learn-body { padding-left: .92rem; padding-right: .92rem; }
    .cab-ai-disclosure-footer { padding: .62rem .92rem .82rem; }
    .cab-ai-disclosure-footer .btn { font-size: .82rem; padding: .48rem .72rem; }
}
