/* ═══════════════════════════════════════════════════════════════
   TONTELIBRE — Blocs affiliation CSS
   Fichier : /assets/css/tl-affiliation-blocks.css
   Auto-enqueued par inc/tl-affiliation-blocks.php
   ═══════════════════════════════════════════════════════════════ */

/* ─── BLOC 1 : Standard (corps d'article) ────────────────────── */
.tl-aff{display:flex;align-items:center;gap:1.3rem;background:#fff;border:2px solid #e0f5ea;border-radius:14px;padding:1.2rem 1.4rem;margin:1.8rem 0;transition:border-color .2s,box-shadow .2s}
.tl-aff:hover{border-color:#3d8b5e;box-shadow:0 6px 24px rgba(45,90,63,.1)}
.tl-aff__img{flex-shrink:0;width:110px;height:110px;border-radius:10px;overflow:hidden;background:#f2fbf6;display:flex;align-items:center;justify-content:center}
.tl-aff__img img{max-width:100%;max-height:100%;object-fit:contain}
.tl-aff__body{flex:1;min-width:0}
.tl-aff__name{font-family:'Fraunces',Georgia,serif;font-size:1.05rem;font-weight:700;color:#1a3a2a;margin:0 0 .15rem;line-height:1.3}
.tl-aff__price{font-size:.88rem;color:#64748b;margin:0 0 .25rem}
.tl-aff__price strong{font-size:1.15rem;font-weight:800;color:#2d5a3f}
.tl-aff__note{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:700;color:#3d8b5e;background:#e0f5ea;padding:.15rem .5rem;border-radius:4px;margin-bottom:.5rem}
.tl-aff__desc{font-size:.84rem;color:#64748b;margin:0 0 .7rem;line-height:1.5}
.tl-aff__actions{display:flex;gap:.5rem;flex-wrap:wrap}
.tl-aff__btn{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:8px;font-size:.84rem;font-weight:600;text-decoration:none;transition:background .2s,transform .1s;cursor:pointer;border:none;line-height:1.3}
.tl-aff__btn:active{transform:scale(.97)}
.tl-aff__btn--primary{background:#e5a524;color:#1a1a2e}
.tl-aff__btn--primary:hover{background:#d4960e}
.tl-aff__btn--secondary{background:transparent;color:#2d5a3f;border:1px solid #2d5a3f}
.tl-aff__btn--secondary:hover{background:#e0f5ea}

@media(max-width:600px){
.tl-aff{flex-direction:column;text-align:center;padding:1rem}
.tl-aff__img{width:90px;height:90px}
.tl-aff__actions{justify-content:center}
}

/* ─── BLOC 2 : Tableau comparatif ────────────────────────────── */
.tl-aff-table-wrap{margin:2rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tl-aff-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #cbd5e1;min-width:640px}
.tl-aff-table thead th{background:#1a3a2a;color:#fff;padding:.65rem .8rem;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap}
.tl-aff-table thead th:first-child{border-radius:11px 0 0 0}
.tl-aff-table thead th:last-child{border-radius:0 11px 0 0}
.tl-aff-table tbody td{padding:.6rem .8rem;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:#334155}
.tl-aff-table tbody tr:last-child td{border-bottom:none}
.tl-aff-table tbody tr:hover td{background:#f2fbf6}
.tl-aff-table .col-model{font-weight:700;color:#1a3a2a;min-width:160px}
.tl-aff-table .col-model small{display:block;font-weight:400;font-size:.72rem;color:#64748b;margin-top:.1rem}
.tl-aff-table .col-price{font-family:'Fraunces',Georgia,serif;font-weight:800;font-size:.95rem;color:#2d5a3f;white-space:nowrap}
.tl-aff-table .col-cost5{font-weight:600;color:#64748b;font-size:.8rem}
.tl-aff-table .col-cta{text-align:center;white-space:nowrap}
.tl-aff-table__btn{display:inline-block;padding:.4rem .8rem;background:#e5a524;color:#1a1a2e;font-weight:700;font-size:.76rem;border-radius:6px;text-decoration:none;transition:background .2s}
.tl-aff-table__btn:hover{background:#d4960e}
.tl-aff-table tbody tr.recommended td{background:#e0f5ea}
.tl-aff-table tbody tr.recommended .col-model::before{content:'⭐ ';font-size:.8rem}

@media(max-width:600px){
.tl-aff-table{font-size:.75rem;min-width:560px}
.tl-aff-table thead th,.tl-aff-table tbody td{padding:.45rem .5rem}
}

/* ─── BLOC 3 : Double comparatif ─────────────────────────────── */
.tl-aff-double{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}
.tl-aff-double__card{background:#fff;border:2px solid #e0f5ea;border-radius:14px;padding:1.3rem;text-align:center;transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center}
.tl-aff-double__card:hover{border-color:#3d8b5e;box-shadow:0 6px 20px rgba(45,90,63,.1)}
.tl-aff-double__card--winner{border-color:#3d8b5e;background:linear-gradient(180deg,#f2fbf6 0%,#fff 40%)}
.tl-aff-double__badge{display:inline-block;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .6rem;border-radius:20px;margin-bottom:.6rem}
.tl-aff-double__badge--winner{background:#2d5a3f;color:#fff}
.tl-aff-double__badge--alt{background:#f1f5f9;color:#64748b}
.tl-aff-double__img{width:100px;height:100px;border-radius:10px;overflow:hidden;background:#f2fbf6;display:flex;align-items:center;justify-content:center;margin-bottom:.7rem}
.tl-aff-double__img img{max-width:100%;max-height:100%;object-fit:contain}
.tl-aff-double__name{font-family:'Fraunces',Georgia,serif;font-size:1rem;font-weight:700;color:#1a3a2a;margin-bottom:.15rem;line-height:1.3}
.tl-aff-double__price{font-size:.85rem;color:#64748b;margin-bottom:.15rem}
.tl-aff-double__price strong{font-size:1.1rem;font-weight:800;color:#2d5a3f}
.tl-aff-double__desc{font-size:.8rem;color:#64748b;margin-bottom:.8rem;line-height:1.5}
.tl-aff-double__btn{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:8px;font-size:.84rem;font-weight:600;text-decoration:none;background:#e5a524;color:#1a1a2e;transition:background .2s,transform .1s;margin-top:auto}
.tl-aff-double__btn:hover{background:#d4960e}
.tl-aff-double__btn:active{transform:scale(.97)}

@media(max-width:600px){
.tl-aff-double{grid-template-columns:1fr}
}

/* ─── BLOC 4 : Featured CTA pleine largeur ───────────────────── */
.tl-aff-featured{background:linear-gradient(180deg,#f2fbf6 0%,#fff 50%);border:2px solid #3d8b5e;border-radius:16px;padding:2rem 1.5rem;margin:2.5rem 0;text-align:center;position:relative;overflow:hidden}
.tl-aff-featured::before{content:'';position:absolute;top:-40px;right:-40px;width:150px;height:150px;background:radial-gradient(circle,rgba(123,200,154,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.tl-aff-featured__label{display:inline-block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:#2d5a3f;padding:.25rem .8rem;border-radius:20px;margin-bottom:1rem}
.tl-aff-featured__img{width:140px;height:140px;border-radius:12px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;border:1px solid #e0f5ea}
.tl-aff-featured__img img{max-width:90%;max-height:90%;object-fit:contain}
.tl-aff-featured__name{font-family:'Fraunces',Georgia,serif;font-size:1.3rem;font-weight:800;color:#1a3a2a;margin-bottom:.2rem}
.tl-aff-featured__price{font-size:.95rem;color:#64748b;margin-bottom:.2rem}
.tl-aff-featured__price strong{font-size:1.4rem;font-weight:800;color:#2d5a3f}
.tl-aff-featured__note{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:700;color:#3d8b5e;background:#e0f5ea;padding:.2rem .6rem;border-radius:5px;margin-bottom:.6rem}
.tl-aff-featured__desc{font-size:.92rem;color:#334155;max-width:520px;margin:0 auto .5rem;line-height:1.65}
.tl-aff-featured__verdict{font-size:.88rem;font-style:italic;color:#2d5a3f;max-width:480px;margin:0 auto 1.2rem;line-height:1.6;padding:.6rem 1rem;background:rgba(45,90,63,.05);border-radius:8px}
.tl-aff-featured__actions{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}
.tl-aff-featured__btn{display:inline-flex;align-items:center;padding:.65rem 1.4rem;border-radius:10px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .2s,transform .1s}
.tl-aff-featured__btn:active{transform:scale(.97)}
.tl-aff-featured__btn--primary{background:#e5a524;color:#1a1a2e;box-shadow:0 4px 12px rgba(229,165,36,.25)}
.tl-aff-featured__btn--primary:hover{background:#d4960e}
.tl-aff-featured__btn--secondary{background:transparent;color:#2d5a3f;border:2px solid #2d5a3f}
.tl-aff-featured__btn--secondary:hover{background:#e0f5ea}
.tl-aff-featured__disclaimer{font-size:.7rem;color:#94a3b8;margin-top:1rem;line-height:1.5}

@media(max-width:600px){
.tl-aff-featured{padding:1.5rem 1rem}
.tl-aff-featured__img{width:110px;height:110px}
.tl-aff-featured__name{font-size:1.1rem}
.tl-aff-featured__btn{font-size:.85rem;padding:.55rem 1rem}
}