/* ==========================================================================
   Écran d'attente avant le résultat (tagus-value-wait-screen.php + wait.js),
   partagé par les formulaires long et court, à toutes les largeurs.
   ========================================================================== */
.tv-wait{
  position:fixed;inset:0;z-index:100002;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;
  padding:calc(env(safe-area-inset-top) + 56px) 24px calc(env(safe-area-inset-bottom) + 32px);background:#fff;color:#12283A}
.tv-wait[hidden]{display:none}
html.tv-waiting body{overflow:hidden}
.tv-wait__inner{width:100%;max-width:440px;text-align:center}
.tv-wait__title{margin:28px 0 20px;font-size:28px;line-height:34px;font-weight:800;letter-spacing:-.02em;color:#12283A}
.tv-wait__bar{height:6px;margin:0 0 24px;border-radius:999px;background:#E9ECEF;overflow:hidden}
.tv-wait__bar span{display:block;width:0;height:100%;border-radius:inherit;background:#1ABC9C;transition:width .8s ease}
.tv-wait__steps{margin:0 0 28px;padding:0;list-style:none;text-align:left}
.tv-wait__steps li{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:17px;line-height:24px;color:#8A9096;transition:color .3s ease}
.tv-wait__steps li.is-on{color:#12283A;font-weight:700}
.tv-wait__steps li.is-done{color:#46586B}
/* Coche : cercle vide, puis anneau qui tourne sur l'étape en cours, puis ✓. */
.tv-wait__tick{flex:none;position:relative;width:24px;height:24px;border-radius:50%;border:2px solid #D5DBE1;box-sizing:border-box}
.tv-wait__steps li.is-on .tv-wait__tick{border-color:#D5DBE1;border-top-color:#1ABC9C;animation:tv-wait-spin .8s linear infinite}
.tv-wait__steps li.is-done .tv-wait__tick{border-color:#1ABC9C;background:#1ABC9C;animation:tv-wait-pop .3s ease}
.tv-wait__steps li.is-done .tv-wait__tick::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.tv-wait__recap{margin:0;text-align:left;border-top:1px solid #E9ECEF}
.tv-wait__recap:empty{display:none}
.tv-wait__recap > div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #E9ECEF}
.tv-wait__recap dt{font-weight:400;color:#46586B}
.tv-wait__recap dd{margin:0;font-weight:700;text-align:right;color:#12283A}
@keyframes tv-wait-spin{to{transform:rotate(360deg)}}
@keyframes tv-wait-pop{0%{transform:scale(.6)}70%{transform:scale(1.15)}100%{transform:scale(1)}}

/* Symbole de la marque (tagus-value-brand-mark.php) : un quart de tour puis
   une pause — la symétrie d'ordre 4 rend la boucle invisible. */
.tv-brand-mark{display:block;width:72px;height:72px;margin:0 auto;box-shadow:0 10px 30px rgba(18,40,58,.12)}
.tv-brand-mark__blades{transform-box:view-box;transform-origin:62px 65px;animation:tv-mark-turn 1.6s cubic-bezier(.65,0,.35,1) infinite}
@keyframes tv-mark-turn{0%{transform:rotate(0)}55%,100%{transform:rotate(90deg)}}
@keyframes tv-mark-pulse{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){
  .tv-brand-mark__blades{animation:tv-mark-pulse 1.6s ease-in-out infinite!important}
  .tv-wait__steps li.is-on .tv-wait__tick{animation:none!important;border-color:#1ABC9C}
}
