/* 42TV — bouton « retour en haut » avec anneau de progression de lecture */
.pt-btt { position: fixed; right: 24px; bottom: 24px; z-index: 990; width: 54px; height: 54px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; color: #34d399;
    background: rgba(4,14,9,.82); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    box-shadow: 0 14px 34px -10px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.06), 0 0 30px -10px rgba(16,185,129,.5);
    opacity: 0; visibility: hidden; transform: translateY(18px) scale(.85);
    transition: opacity .35s ease, transform .45s cubic-bezier(.34,1.56,.64,1), visibility 0s .35s, bottom .4s ease, box-shadow .3s, color .3s, background .3s; }
.pt-btt.is-visible { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.pt-btt:hover { transform: translateY(-4px); color: #04140d; background: linear-gradient(135deg, #34d399, #10b981); box-shadow: 0 18px 38px -10px rgba(16,185,129,.8), 0 0 0 1px rgba(52,211,153,.6); }
.pt-btt:focus-visible { outline: 2px solid #34d399; outline-offset: 3px; }
.pt-btt svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.pt-btt .pt-btt-ring { transform: rotate(-90deg); transform-origin: 50% 50%; }
.pt-btt .pt-btt-track { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 2.5; }
.pt-btt .pt-btt-bar { fill: none; stroke: #10b981; stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 144.5; stroke-dashoffset: 144.5; filter: drop-shadow(0 0 4px rgba(16,185,129,.8)); transition: stroke .3s; }
.pt-btt:hover .pt-btt-bar { stroke: rgba(4,20,13,.55); filter: none; }
.pt-btt .pt-btt-arrow { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
/* Ne pas chevaucher le bandeau cookies sur petit écran */
@media (max-width: 575px) { .pt-btt { right: 14px; bottom: 16px; width: 48px; height: 48px; } body.pt-cookie-open .pt-btt { bottom: 360px; opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { .pt-btt, .pt-btt.is-visible { transition: opacity .2s ease; transform: none; } .pt-btt:hover { transform: none; } }
@media print { .pt-btt { display: none; } }
