:root{--cg-dark:#0a1733;--cg-blue:#0d2260;--cg-gold:#f5b73d;--cg-green:#1a9e5c;--cg-border:#e2e8f0;--cg-bg:#f7f9fc;--cg-text:#1e293b;--cg-muted:#64748b;--cg-r:14px;--cg-sh:0 2px 12px rgba(10,23,51,.08)}

/* Hero */
.cg-hero{background:linear-gradient(135deg,#0a1733 0%,#0d2260 55%,#112299 100%);padding:56px 16px 48px;text-align:center;color:#fff}
.cg-hero-inner{max-width:840px;margin:0 auto}
.cg-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 18px;font-size:.78rem;font-weight:700;margin-bottom:20px}
.cg-h1{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:900;margin:0 0 14px;line-height:1.15}
.cg-gold{color:var(--cg-gold)}
.cg-sub{color:#b8ccf0;font-size:.95rem;max-width:580px;margin:0 auto 28px;line-height:1.6}
.cg-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:32px}
.cg-stat strong{display:block;font-size:1.6rem;font-weight:900;color:var(--cg-gold)}
.cg-stat span{font-size:.73rem;color:#b8ccf0}

/* Filtres */
.cg-filters-wrap{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--cg-border);box-shadow:0 2px 8px rgba(10,23,51,.05)}
.cg-fi{max-width:1200px;margin:0 auto;padding:12px 16px 10px}
.cg-top-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cg-search-form{flex:1}
.cg-search-box{display:flex;align-items:center;gap:8px;border:1.5px solid var(--cg-border);border-radius:10px;padding:7px 12px;background:var(--cg-bg)}
.cg-sico{width:16px;height:16px;color:var(--cg-muted);flex-shrink:0}
.cg-si{flex:1;border:none;background:transparent;font-size:.88rem;outline:none;color:var(--cg-text);min-width:0}
.cg-sbtn{background:var(--cg-dark);color:#fff;border:none;border-radius:7px;padding:6px 16px;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s}
.cg-sbtn:hover{background:#112299}
.cg-reset{color:var(--cg-muted);font-size:.8rem;text-decoration:none;white-space:nowrap}
.cg-reset:hover{color:var(--cg-text)}

/* Toggle vue */
.cg-view-toggle{display:flex;gap:4px;flex-shrink:0}
.cg-vbtn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid var(--cg-border);border-radius:8px;background:#fff;cursor:pointer;color:var(--cg-muted);transition:all .15s}
.cg-vbtn svg{width:15px;height:15px}
.cg-vbtn:hover{border-color:var(--cg-dark);color:var(--cg-dark)}
.cg-vbtn.active{background:var(--cg-dark);color:#fff;border-color:var(--cg-dark)}

/* Onglets */
.cg-tabs{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:2px}
.cg-tab{flex-shrink:0;white-space:nowrap;padding:5px 13px;border-radius:999px;font-size:.76rem;font-weight:600;border:1.5px solid var(--cg-border);background:#fff;color:var(--cg-muted);text-decoration:none;transition:all .15s}
.cg-tab:hover{border-color:var(--cg-dark);color:var(--cg-dark)}
.cg-tab.on{background:var(--cg-dark);color:#fff;border-color:var(--cg-dark)}
.cg-n{opacity:.65;font-size:.7rem}
.cg-rbar{font-size:.76rem;color:var(--cg-muted);margin:8px 0 0}
/* Filtres avancés */
.cg-adv-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 0 4px}
.cg-af-group{display:flex;align-items:center;gap:5px}
.cg-af-lbl{font-size:.72rem;font-weight:700;color:var(--cg-muted);white-space:nowrap}
.cg-af-sel{font-size:.78rem;padding:5px 10px;border:1.5px solid var(--cg-border);border-radius:7px;background:#fff;color:var(--cg-text);cursor:pointer;outline:none;transition:border .15s}
.cg-af-sel:focus{border-color:var(--cg-dark)}
.cg-af-reset{font-size:.76rem;color:#ef4444;text-decoration:none;margin-left:4px;white-space:nowrap}
.cg-af-reset:hover{text-decoration:underline}
/* Bouton comparer */
.cg-btn-cmp{background:transparent;border:1.5px solid var(--cg-border);border-radius:7px;padding:6px 10px;cursor:pointer;font-size:.85rem;transition:all .15s;color:var(--cg-muted)}
.cg-btn-cmp:hover,.cg-btn-cmp.active{background:#f59e0b;border-color:#f59e0b;color:#fff}

/* ══════════════════════════════════════════════
   COMPARATEUR PREMIUM
══════════════════════════════════════════════ */
/* ── Bandeau flottant ── */
#cmpBar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(120px);z-index:9000;transition:transform .35s cubic-bezier(.34,1.56,.64,1);pointer-events:none;width:calc(100% - 32px);max-width:860px}
#cmpBar.visible{transform:translateX(-50%) translateY(0);pointer-events:all}
.cmpb-inner{background:#0a1733;border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.07);display:flex;align-items:center;gap:12px;padding:12px 16px;flex-wrap:wrap}
.cmpb-left{display:flex;align-items:center;gap:8px;flex-shrink:0}
.cmpb-icon{font-size:1.1rem}
.cmpb-label{font-weight:700;color:#fff;font-size:.88rem;white-space:nowrap}
.cmpb-count{background:#f59e0b;color:#0a1733;border-radius:20px;padding:2px 9px;font-size:.72rem;font-weight:900}
.cmpb-slots{display:flex;gap:6px;flex:1;flex-wrap:wrap;min-width:0}
.cmpb-slot{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border-radius:8px;padding:5px 10px;backdrop-filter:blur(4px)}
.cmpb-slot-name{color:#e2e8f0;font-size:.76rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}
.cmpb-slot-rm{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.8rem;line-height:1;padding:0 2px;transition:color .15s}
.cmpb-slot-rm:hover{color:#f87171}
.cmpb-actions{display:flex;gap:8px;flex-shrink:0}
.cmpb-btn-go{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0a1733;border:none;padding:9px 20px;border-radius:10px;font-weight:800;cursor:pointer;font-size:.85rem;transition:all .15s;white-space:nowrap}
.cmpb-btn-go:hover{filter:brightness(1.1);transform:scale(1.02)}
.cmpb-btn-clear{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#9ca3af;padding:8px 12px;border-radius:10px;cursor:pointer;font-size:.85rem;transition:all .15s}
.cmpb-btn-clear:hover{background:rgba(255,255,255,.14);color:#fff}

/* ── Overlay / panel ── */
.cmp-overlay{display:none;position:fixed;inset:0;z-index:9999;background:rgba(10,23,51,.75);backdrop-filter:blur(6px);align-items:flex-start;justify-content:center;padding:24px 12px;overflow-y:auto;opacity:0;transition:opacity .28s}
.cmp-overlay.open{opacity:1}
.cmp-panel{background:#fff;border-radius:20px;width:100%;max-width:1080px;margin:auto;box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden;transform:translateY(30px);transition:transform .28s cubic-bezier(.34,1.2,.64,1)}
.cmp-overlay.open .cmp-panel{transform:translateY(0)}

/* ── Header panel ── */
.cmp-hdr{background:linear-gradient(135deg,#0a1733 0%,#1a3a6e 100%);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.cmp-hdr-left{display:flex;align-items:center;gap:14px}
.cmp-hdr-icon{font-size:1.6rem;background:rgba(245,158,11,.18);padding:10px;border-radius:12px}
.cmp-hdr-title{color:#fff;font-size:1.1rem;font-weight:800}
.cmp-hdr-sub{color:#94a3b8;font-size:.8rem;margin-top:2px}
.cmp-close{background:rgba(255,255,255,.1);border:none;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.cmp-close:hover{background:rgba(255,255,255,.2)}

/* ── Corps ── */
.cmp-body{padding:0 0 8px}

/* ── Cartes en-tête de colonnes ── */
.cmp-cards-row{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:1px;background:#e2e8f0;border-bottom:2px solid #e2e8f0}
.cmp-card-hdr{background:#fff;padding:20px 16px;position:relative;border-top:4px solid var(--fc,#0a1733)}
.cmp-best-badge{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.65rem;font-weight:800;padding:3px 8px;border-radius:20px;white-space:nowrap}
.cmp-card-cat{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fc,#64748b);margin-bottom:6px}
.cmp-card-name{font-size:.92rem;font-weight:800;color:#0a1733;line-height:1.35;margin-bottom:8px}
.cmp-card-desc{font-size:.75rem;color:#64748b;line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cmp-card-score-wrap{margin-top:10px}
.cmp-score-label{font-size:.68rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.cmp-score-bar-wrap{height:5px;background:#e2e8f0;border-radius:10px;overflow:hidden;margin-bottom:4px}
.cmp-score-bar{height:100%;border-radius:10px;transition:width .6s ease}
.cmp-score-val{font-size:.72rem;font-weight:700;color:#64748b}

/* ── Section titles ── */
.cmp-section-title{background:#f8fafc;padding:8px 20px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}

/* ── Lignes de comparaison ── */
.cmp-row{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;border-bottom:1px solid #f1f5f9}
.cmp-row:hover{background:#fafbfc}
.cmp-row-lbl{grid-column:1;display:flex;align-items:center;gap:7px;padding:12px 16px;font-size:.78rem;font-weight:700;color:#374151;background:#f8fafc;border-right:1px solid #e2e8f0;min-width:140px;white-space:nowrap}
.cmp-row-icon{font-size:.9rem}
.cmp-row-vals{display:contents}
.cmp-row-val{padding:12px 14px;font-size:.82rem;color:#1e293b;display:flex;align-items:center;justify-content:center;flex-direction:column;border-right:1px solid #f1f5f9;text-align:center}
.cmp-row-val.best{background:#fef9ee}
.cmp-row-val:last-child{border-right:none}
.cmp-na{color:#cbd5e1;font-size:.8rem}

/* Prix bars */
.cmp-prix-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
.cmp-prix-val{font-size:.83rem;font-weight:700;color:#1e293b}
.cmp-prix-val.cmp-prix-min{color:#059669}
.cmp-prix-bar-bg{width:100%;height:4px;background:#e2e8f0;border-radius:10px;overflow:hidden}
.cmp-prix-bar-fill{height:100%;background:#0a1733;border-radius:10px;transition:width .5s ease}
.cmp-prix-tag{font-size:.63rem;font-weight:700;color:#059669;background:#d1fae5;padding:1px 7px;border-radius:20px;margin-top:2px}

/* Durée bars */
.cmp-dur-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}
.cmp-dur-val{font-size:.83rem;font-weight:700;color:#1e293b}
.cmp-dur-val.cmp-dur-max{color:#7c3aed}
.cmp-dur-bar-bg{width:100%;height:4px;background:#e2e8f0;border-radius:10px;overflow:hidden}
.cmp-dur-bar-fill{height:100%;background:#7c3aed;border-radius:10px;transition:width .5s ease}
.cmp-dur-tag{font-size:.63rem;font-weight:700;color:#7c3aed;background:#ede9fe;padding:1px 7px;border-radius:20px}

/* Mode badges */
.cmp-mode-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.72rem;font-weight:700}
.cmp-mode-en_ligne{background:#dbeafe;color:#1d4ed8}
.cmp-mode-presentiel{background:#d1fae5;color:#065f46}
.cmp-mode-hybride{background:#fef3c7;color:#92400e}

/* Catégorie chip */
.cmp-cat-chip{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:700}

/* ── Actions ── */
.cmp-actions-row{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:1px;background:#e2e8f0;border-top:2px solid #e2e8f0;padding:16px;gap:12px}
.cmp-action-col{display:flex;flex-direction:column;gap:8px;align-items:center}
.cmp-btn-inscrire{display:block;text-align:center;padding:10px 14px;border-radius:10px;color:#fff;font-weight:800;font-size:.82rem;text-decoration:none;transition:filter .15s,transform .15s;width:100%}
.cmp-btn-inscrire:hover{filter:brightness(1.12);transform:scale(1.02)}
.cmp-btn-fiche{color:#64748b;font-size:.75rem;text-decoration:none;font-weight:600;transition:color .15s}
.cmp-btn-fiche:hover{color:#0a1733}

/* ── Toast ── */
#cmpToast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(20px);background:#0a1733;color:#fff;padding:10px 20px;border-radius:10px;font-size:.82rem;font-weight:600;box-shadow:0 4px 20px rgba(0,0,0,.3);opacity:0;transition:all .25s;pointer-events:none;z-index:10000;white-space:nowrap}
#cmpToast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Main */
.cg-main{background:var(--cg-bg);min-height:60vh;padding:28px 16px 64px}
.cg-inner{max-width:1200px;margin:0 auto}
.cg-pending,.cg-empty{text-align:center;padding:80px 24px;background:#fff;border-radius:var(--cg-r);border:1.5px dashed var(--cg-border);max-width:580px;margin:0 auto}
.cg-pending h2,.cg-empty strong{display:block;font-size:1.2rem;color:var(--cg-text);margin-bottom:10px}
.cg-pending p,.cg-empty p{color:var(--cg-muted);line-height:1.7;margin:0 0 20px}
.cg-pending a,.cg-empty a{color:var(--cg-blue);text-decoration:underline}

/* ══ Chargement ══ */
.cg-loading{grid-column:1/-1;text-align:center;padding:60px 24px;color:var(--cg-muted);display:flex;align-items:center;justify-content:center;gap:10px;font-size:.9rem}
@keyframes cg-rotate{to{transform:rotate(360deg)}}
.cg-spin{display:inline-block;width:20px;height:20px;border:2px solid var(--cg-border);border-top-color:var(--cg-dark);border-radius:50%;animation:cg-rotate .7s linear infinite}
/* ══ VUE GRILLE ══ */
#cgResults:not(.list-mode){display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:36px}
#cgContainer:not(.list-mode){display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:36px}
.cg-card{background:#fff;border:1px solid var(--cg-border);border-radius:var(--cg-r);box-shadow:var(--cg-sh);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,transform .2s}
.cg-card:hover{box-shadow:0 8px 28px rgba(10,23,51,.13);transform:translateY(-2px)}
.cg-card-banner{padding:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:70px;position:relative}
.cg-dom-badge{font-size:.7rem;font-weight:700;padding:3px 11px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:66%}
.cg-mod-badge{font-size:.67rem;font-weight:600;color:rgba(255,255,255,.75);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:3px 9px;border-radius:999px;white-space:nowrap}
.cg-dur-inline{margin-bottom:2px}
.cg-dur-badge{display:inline-block;font-size:.68rem;font-weight:700;color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;padding:2px 10px;border-radius:999px;white-space:nowrap}
.cg-niveaux{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 6px}
.cg-niveaux-list{margin:4px 0}
.cg-niv{display:inline-block;font-size:.65rem;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;cursor:pointer;transition:box-shadow .15s,transform .1s}
.cg-niv:hover{transform:scale(1.06)}
.cg-niv-active{box-shadow:0 0 0 2px currentColor;outline:none}
.cg-niv-debutant{background:#dcfce7;color:#166534;border:1px solid #86efac}
.cg-niv-intermediaire{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}
.cg-niv-expert{background:#fce7f3;color:#9d174d;border:1px solid #f9a8d4}
.cg-dur-list{display:inline-block;font-size:.7rem;font-weight:700;color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;padding:2px 8px;border-radius:999px;white-space:nowrap}
.cg-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;gap:10px}
.cg-card-name{font-size:.9rem;font-weight:900;line-height:1.3;color:var(--cg-text);margin:0}
.cg-card-pitch{font-size:.76rem;color:var(--cg-muted);line-height:1.55;margin:0}
.cg-niv-content{margin:6px 0 0;display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:var(--cg-bg2,#f8fafc);border-radius:6px;border:1px solid var(--cg-border,#e2e8f0)}
.cg-niv-c-item{display:flex;flex-direction:column;gap:1px}
.cg-niv-c-lbl{font-weight:800;color:var(--cg-muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em}
.cg-niv-c-txt{font-size:.72rem;line-height:1.45;color:var(--cg-text)}
.cg-ref-price{display:flex;align-items:baseline;gap:6px}
.cg-ref-val{font-size:1.05rem;font-weight:900}
.cg-ref-lbl{font-size:.72rem;color:var(--cg-muted)}
.cg-sur-devis{font-size:.8rem;color:var(--cg-muted);font-style:italic}

/* Table tarifaire accordion */
.cg-tarif-toggle{width:100%;background:none;border:1px solid var(--cg-border);border-radius:8px;padding:7px 10px;font-size:.72rem;font-weight:800;color:var(--cg-muted);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;transition:background .15s}
.cg-tarif-toggle:hover{background:#f8fafc}
.cg-tarif-toggle.open{background:#f0f4ff;border-color:#c7d2fe;color:#3730a3;border-radius:8px 8px 0 0;margin-bottom:0}
.cg-tarif-arrow{transition:transform .2s;display:inline-block}
.cg-tarif-toggle.open .cg-tarif-arrow{transform:rotate(180deg)}
.cg-table-wrap{border:1px solid var(--cg-border);border-radius:0 0 10px 10px;overflow:hidden;display:none}
.cg-table-wrap.visible{display:block}
.cg-tbl{width:100%;border-collapse:collapse;font-size:.68rem}
.cg-tbl th{background:#f8fafc;padding:5px 7px;font-weight:700;color:var(--cg-muted);border-bottom:1px solid var(--cg-border)}
.cg-th-m{text-align:left}
.cg-th-p{text-align:right;min-width:82px}
.cg-tbl td{padding:4px 7px;border-bottom:1px solid #f1f5fb;color:var(--cg-text);vertical-align:middle}
.cg-tbl td:not(:first-child){text-align:right;font-weight:700;color:var(--cg-blue)}
.cg-tbl tbody tr:last-child td{border-bottom:none}
.cg-tbl tbody tr:hover td{background:#f8fafd}
.cg-elearn-row td{font-weight:600;background:#f0fdf4}
.cg-intra-row td{background:#fffdf5;font-style:italic;color:var(--cg-muted)!important;font-weight:600!important;text-align:center}
.cg-tbl-note{padding:5px 7px;font-size:.6rem;color:var(--cg-muted);background:#fafbfc;border-top:1px solid var(--cg-border);margin:0}

/* Share bar catalogue */
.cg-share-bar{display:flex;align-items:center;gap:6px;padding:8px 0 2px;border-top:1px solid var(--cg-border);margin-top:8px}
.cg-share-label{font-size:.68rem;color:var(--cg-muted);font-weight:600;white-space:nowrap;margin-right:2px}
.cg-sh{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;text-decoration:none;font-size:.75rem;transition:opacity .15s;border:none;cursor:pointer;padding:0}
.cg-sh:hover{opacity:.8}
.cg-sh-wa{background:#25d366;color:#fff}
.cg-sh-fb{background:#1877f2;color:#fff}
.cg-sh-li{background:#0a66c2;color:#fff}
.cg-sh-tw{background:#000;color:#fff}
.cg-sh-cp{background:#f3f4f6;color:#374151}
.cg-sh-cp.copied{background:#d1fae5}

/* CTAs carte */
.cg-card-ctas{display:flex;gap:8px;margin-top:auto}
.cg-btn-p{flex:1;color:#fff;text-align:center;padding:9px 10px;border-radius:10px;font-size:.8rem;font-weight:700;text-decoration:none;transition:opacity .2s;white-space:nowrap}
.cg-btn-p:hover{opacity:.85}
.cg-btn-s{flex:1;background:transparent;color:var(--cg-dark);text-align:center;padding:9px 10px;border:1.5px solid var(--cg-border);border-radius:10px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .2s;white-space:nowrap}
.cg-btn-s:hover{background:#f0f5ff;border-color:var(--cg-dark)}
.cg-btn-tdr{background:#fff7ed;color:#92400e;text-align:center;padding:9px 10px;border:1.5px solid #fcd34d;border-radius:10px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .2s;white-space:nowrap}
.cg-btn-tdr:hover{background:#fef3c7;border-color:#f59e0b}

/* ══ VUE LISTE ══ */
#cgResults.list-mode,#cgContainer.list-mode{display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.cg-list-item{background:#fff;border:1px solid var(--cg-border);border-radius:12px;box-shadow:var(--cg-sh);display:flex;align-items:center;gap:0;overflow:hidden;transition:box-shadow .2s}
.cg-list-item:hover{box-shadow:0 4px 18px rgba(10,23,51,.11)}
.cg-list-color{width:5px;min-height:80px;align-self:stretch;flex-shrink:0}
.cg-list-body{flex:1;padding:12px 14px;min-width:0}
.cg-list-top{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.cg-list-cat{font-size:.7rem;font-weight:700;padding:2px 9px;border-radius:999px}
.cg-list-mod{font-size:.67rem;color:var(--cg-muted)}
.cg-list-name{font-size:.9rem;font-weight:900;color:var(--cg-text);margin:0 0 3px}
.cg-list-desc{font-size:.75rem;color:var(--cg-muted);margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cg-list-prices{display:flex;align-items:center;gap:12px;padding:12px 14px;flex-shrink:0;border-left:1px solid var(--cg-border)}
.cg-lp-item{display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center}
.cg-lp-lbl{font-size:.65rem;color:var(--cg-muted);font-weight:600}
.cg-lp-val{font-size:.88rem;font-weight:900}
.cg-lp-sub{font-size:.62rem;color:var(--cg-muted)}
.cg-lp-sep{width:1px;height:36px;background:var(--cg-border)}
.cg-list-ctas{display:flex;flex-direction:column;gap:6px;padding:12px 14px;flex-shrink:0;border-left:1px solid var(--cg-border)}
.cg-list-ctas .cg-btn-p,.cg-list-ctas .cg-btn-s{flex:none;font-size:.75rem;padding:7px 14px}

/* Pagination */
.cg-pag{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:36px 0}
.cg-pb{padding:7px 14px;border-radius:9px;font-size:.8rem;font-weight:600;border:1.5px solid var(--cg-border);background:#fff;color:var(--cg-text);text-decoration:none;transition:all .15s}
.cg-pb:hover{background:#f0f5ff;border-color:var(--cg-dark);color:var(--cg-dark)}
.cg-pb.cur{background:var(--cg-dark);color:#fff;border-color:var(--cg-dark)}
.cg-dots{padding:7px 4px;color:var(--cg-muted);font-size:.8rem}

/* CTA bas */
.cg-cta-bloc{margin-top:48px;background:linear-gradient(135deg,var(--cg-dark),var(--cg-blue));border-radius:18px;padding:48px 24px;text-align:center;color:#fff}
.cg-cta-bloc h2{font-size:1.5rem;font-weight:900;margin:0 0 12px}
.cg-cta-bloc p{color:#b8ccf0;margin:0 auto 24px;max-width:520px;line-height:1.6}
.cg-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cg-btn-cta-p{background:var(--cg-gold);color:#1a1a1a;padding:12px 28px;border-radius:11px;font-weight:900;text-decoration:none;font-size:.9rem}
.cg-btn-cta-p:hover{background:#e0a030}
.cg-btn-cta-w{background:#25D366;color:#fff;padding:12px 28px;border-radius:11px;font-weight:700;text-decoration:none;font-size:.9rem}
.cg-btn-cta-w:hover{background:#1eb855}

/* Responsive */
@media(max-width:768px){
  .cg-hero{padding:36px 12px 30px}.cg-stats{gap:18px}
  #cgResults:not(.list-mode),#cgContainer:not(.list-mode){grid-template-columns:1fr}
  .cg-list-prices,.cg-list-ctas{padding:10px}
  .cg-list-item{flex-wrap:wrap}.cg-list-ctas{flex-direction:row;border-left:none;border-top:1px solid var(--cg-border);width:100%}
  .cg-cta-bloc{padding:32px 16px}
}
@media(max-width:900px){
  #cgResults:not(.list-mode),#cgContainer:not(.list-mode){grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
}

/* ── Modal TDR ── */
#tdr-lead-modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:flex-start;justify-content:center;padding:12px 16px 24px;overflow-y:auto}
#tdr-lead-modal[hidden]{display:none}
.tdr-modal-bg{position:fixed;inset:0;background:rgba(10,23,51,.7);backdrop-filter:blur(4px)}
.tdr-modal-box{position:relative;background:#fff;border-radius:18px;padding:28px 28px 24px;max-width:600px;width:100%;box-shadow:0 24px 64px rgba(10,23,51,.3);z-index:1;margin:auto}
.tdr-modal-close{position:absolute;top:14px;right:16px;background:#f1f5f9;border:none;font-size:.95rem;cursor:pointer;color:#475569;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700}
.tdr-modal-close:hover{background:#e2e8f0;color:#0a1733}
.tdr-modal-icon{font-size:2rem;text-align:center;margin-bottom:6px}
.tdr-modal-h{margin:0 0 4px;font-size:1.15rem;font-weight:900;color:#0a1733;text-align:center}
.tdr-modal-sub{margin:0 0 18px;font-size:.83rem;text-align:center;color:#475569;padding:6px 12px;background:#f0f5ff;border-radius:8px}
.tdr-modal-sub strong{color:#0a1733}
.tdr-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tdr-field{margin-bottom:12px}
.tdr-field label{display:block;font-size:.78rem;font-weight:700;color:#374151;margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}
.tdr-opt{font-weight:400;text-transform:none;color:#94a3b8;font-size:.75rem}
.tdr-field input,.tdr-field select{width:100%;padding:9px 12px;border:1.5px solid #cbd5e1;border-radius:9px;font-size:.88rem;box-sizing:border-box;transition:border-color .2s;background:#fff;color:#1e293b}
.tdr-field input:focus,.tdr-field select:focus{outline:none;border-color:#0a1733;box-shadow:0 0 0 3px rgba(10,23,51,.08)}
.tdr-phone-wrap{display:flex;align-items:center;border:1.5px solid #cbd5e1;border-radius:9px;overflow:hidden;transition:border-color .2s;background:#fff}
.tdr-phone-wrap:focus-within{border-color:#0a1733;box-shadow:0 0 0 3px rgba(10,23,51,.08)}
.tdr-dial{padding:9px 10px;background:#f1f5f9;color:#0a1733;font-weight:700;font-size:.82rem;white-space:nowrap;border-right:1.5px solid #cbd5e1;min-width:48px;text-align:center}
.tdr-phone-wrap input{border:none!important;box-shadow:none!important;border-radius:0;flex:1}
.tdr-hint{font-size:.72rem;color:#94a3b8;margin-top:3px;display:block}
.tdr-radios{display:flex;flex-wrap:wrap;gap:8px}
.tdr-radio{display:flex;align-items:center;gap:6px;padding:7px 12px;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.82rem;font-weight:600;color:#374151;transition:all .15s;user-select:none}
.tdr-radio:hover{border-color:#0a1733;background:#f0f5ff}
.tdr-radio input[type="radio"]{accent-color:#0a1733;margin:0}
.tdr-radio input[type="radio"]:checked + span{color:#0a1733}
.tdr-radio:has(input:checked){border-color:#0a1733;background:#f0f5ff}
.tdr-radios-4 .tdr-radio{flex:1;min-width:calc(50% - 4px);justify-content:center}
.tdr-msg{min-height:18px;font-size:.8rem;color:#dc2626;margin:6px 0 8px;text-align:center;font-weight:600}
.tdr-modal-btn{width:100%;background:#f5b73d;color:#0a1733;font-weight:900;font-size:1rem;border:none;border-radius:10px;padding:13px;cursor:pointer;transition:background .2s;margin-top:4px;letter-spacing:.01em}
.tdr-modal-btn:hover{background:#e0a020}
.tdr-modal-btn:disabled{opacity:.6;cursor:not-allowed}
.tdr-privacy{font-size:.72rem;color:#94a3b8;text-align:center;margin:10px 0 0}
@media(max-width:540px){.tdr-modal-box{padding:20px 16px 18px}.tdr-row{grid-template-columns:1fr}.tdr-radios-4 .tdr-radio{min-width:calc(50% - 4px)}}
