/** TAP v20 — norme éditoriale, couche additive dérivée de v19. */
.tap-v9-key-points{margin:56px 0 44px;padding:28px;border:1px solid rgba(255,255,255,.18);background:#0f0f0f}
.tap-v9-key-points h2{margin:0 0 22px;color:#fff;font:700 20px/1.2 Roboto,Arial,sans-serif;letter-spacing:.06em}
.tap-v9-key-points ul{display:grid;gap:18px;margin:0;padding:0;list-style:none}
.tap-v9-key-points li{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start;color:#f4f4f2;font:500 18px/1.5 Roboto,Arial,sans-serif}
.tap-key-point__icon{display:block;width:22px;height:22px;color:#fd514f}
.tap-key-point__icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tap-opinion-label{display:block;margin:0 0 16px;color:#fd514f;font:700 13px/1 Roboto,Arial,sans-serif;letter-spacing:.14em}
.tap-opinion-author{display:flex;align-items:center;gap:14px;margin:25px 0 5px}
.tap-opinion-author img{width:56px;height:56px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.tap-opinion-author a{color:#fff;font-weight:700;text-decoration:none}.tap-opinion-author p{margin:5px 0 0;color:#f4f4f2;font-size:14px}
.tap-opinion-disclaimer{margin:42px 0 28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:#f4f4f2;font-size:14px;line-height:1.55}
.tap-article-actions--bottom{margin:30px 0 12px}
@media(max-width:760px){.tap-v9-key-points{margin:44px 0 36px;padding:22px 18px}.tap-v9-key-points li{font-size:17px}}

/* v20.1 — Permanent section Opinion strip (Canada / Afrique). */
.tap-section-opinion{
  display:grid;
  grid-template-columns:minmax(180px,2.4fr) minmax(0,6.8fr) minmax(130px,1.6fr);
  align-items:center;
  gap:30px;
  margin-top:34px;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.18);
  background:#0f0f0f;
  color:#fff;
}
.tap-section-opinion__identity{min-width:0}
.tap-section-opinion__eyebrow{display:block;margin:0 0 12px;color:#fd514f;font:700 11px/1 Roboto,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.tap-section-opinion__person{display:flex;align-items:center;gap:11px;min-width:0}
.tap-section-opinion__portrait{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#202020;border:1px solid rgba(255,255,255,.16)}
.tap-section-opinion__portrait img{display:block;width:44px;height:44px;object-fit:cover;filter:grayscale(1)}
.tap-section-opinion__portrait-placeholder{display:block;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%;position:relative}
.tap-section-opinion__portrait-placeholder::after{content:"";position:absolute;left:50%;top:14px;width:25px;height:13px;border:1.5px solid rgba(255,255,255,.5);border-bottom:0;border-radius:18px 18px 0 0;transform:translateX(-50%)}
.tap-section-opinion__byline{display:grid;min-width:0;font-family:Roboto,Arial,sans-serif;line-height:1.2}
.tap-section-opinion__byline strong{overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:14px;font-weight:700;white-space:nowrap}
.tap-section-opinion__byline small{margin-top:4px;overflow:hidden;text-overflow:ellipsis;color:#d8d8d5;font-size:12px;white-space:nowrap}
.tap-section-opinion__content{min-width:0;padding-left:30px;border-left:1px solid rgba(255,255,255,.16)}
.tap-section-opinion__content h3{margin:0!important;font-family:Roboto,Arial,sans-serif!important;font-size:clamp(21px,2vw,28px)!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.02em}
.tap-section-opinion__content h3 a{color:#fff!important;text-decoration:none!important;background-image:none!important}
.tap-section-opinion__content h3 a:hover{color:#fd514f!important}
.tap-section-opinion__content p{max-width:760px;margin:10px 0 0;color:#f4f4f2;font:400 15px/1.45 Roboto,Arial,sans-serif}
.tap-section-opinion__action{justify-self:end}
.tap-section-opinion__action a{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.3);color:#fff!important;font:700 13px/1 Roboto,Arial,sans-serif;text-decoration:none!important;white-space:nowrap;background-image:none!important;transition:border-color .18s ease,color .18s ease}
.tap-section-opinion__action a:hover{border-color:#fd514f;color:#fd514f!important}
.tap-section-opinion__action--muted{color:#9e9e9a;font:700 12px/1 Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.tap-section-opinion--empty .tap-section-opinion__content h3{color:#fff}
.tap-section-opinion--empty .tap-section-opinion__content p{color:#c9c9c6}

@media(max-width:900px){
  .tap-section-opinion{grid-template-columns:1fr auto;gap:18px 22px;padding:20px}
  .tap-section-opinion__identity{grid-column:1/-1}
  .tap-section-opinion__content{grid-column:1;padding-left:0;border-left:0}
  .tap-section-opinion__action{grid-column:2;grid-row:2;align-self:end}
}
@media(max-width:620px){
  .tap-section-opinion{display:block;margin-top:28px;padding:18px}
  .tap-section-opinion__content{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
  .tap-section-opinion__content h3{font-size:22px!important;line-height:1.15!important}
  .tap-section-opinion__content p{font-size:15px}
  .tap-section-opinion__action{margin-top:18px}
  .tap-section-opinion__action a{min-height:40px}
}
