/*
 * Test Permis Théorique — composants applicatifs : quiz, chrono, correction, résultat, offre, paywall, compte.
 * Chargée après main.css (jetons et boutons) sur les leçons, les pages applicatives, l'accueil et les pages
 * qui contiennent un shortcode de test, d'offre ou de compte ; filet de sécurité en pied de page sinon.
 */
/* 0. Mode focus (session de quiz active : body.tpt-focus-mode) ---------- */
.tpt-focus-mode :is(.tptc-nav,.tptc-burger,.tptc-header__actions,.tptc-crumbs,.site-footer,.tptc-footer,.tptc-mobile-cta,.entry-header,.tpt-breadcrumbs){display:none !important}
.tpt-focus-mode .tptc-header{position:relative;top:0}
.tpt-focus-mode .entry-content>:not(.tpt-app):not(:has(.tpt-app)){display:none}
.tpt-focus-mode .site-content,.tpt-focus-mode.separate-containers .inside-article{padding-top:var(--tpt-s3)}
.tpt-focus-mode .tpt-app{margin-top:0}
@media (prefers-reduced-motion:no-preference){
	.tpt-timer.is-low{animation:tpt-pulse 1s ease-in-out infinite}
	@keyframes tpt-pulse{
		50%{box-shadow:inset 0 0 0 2px var(--tpt-err),0 0 0 4px rgba(180,35,24,.18)}
	}
}
/* 1. Quiz --------------------------------------------------------------- */
.tpt-app{max-width:760px;margin:var(--tpt-s5) auto}
.tpt-start,.tpt-login,.tpt-success{padding:var(--tpt-s5);border:1px solid var(--tpt-line);border-radius:var(--tpt-r-lg);background:#fff;box-shadow:var(--tpt-sh-2)}
.tpt-start__title,.tpt-login__title,.tpt-success__title,.tpt-paywall__title{margin:0 0 var(--tpt-s3);color:var(--tpt-ink);font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);font-weight:750;line-height:1.3}
.tpt-start__facts{margin-bottom:var(--tpt-s5)}
.tpt-start__hint,.tpt-start__unlock{font-size:.9375rem}
.tpt-start__unlock{margin:var(--tpt-s4) 0 0}
.tpt-start .tpt-btn--lg,.tpt-login .tpt-btn{width:100%}
@media (min-width:600px){
	.tpt-start{padding:var(--tpt-s6)}
	.tpt-start .tpt-btn--lg{width:auto}
}
.tpt-practice-picker fieldset,.tpt-form fieldset{min-width:0;margin:0 0 var(--tpt-s4);padding:0;border:0}
.tpt-practice-picker legend,.tpt-form legend{margin-bottom:var(--tpt-s3);padding:0;color:var(--tpt-ink);font-size:1.125rem;font-weight:750}
.tpt-choice-grid{display:grid;gap:var(--tpt-s2)}
@media (min-width:600px){
	.tpt-choice-grid{grid-template-columns:1fr 1fr}
}
.tpt-choice{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:start;min-height:44px;padding:14px 16px;border:2px solid var(--tpt-line-2);border-radius:var(--tpt-r);background:#fff;cursor:pointer;transition:border-color .15s,background-color .15s}
.tpt-choice input{grid-row:span 2;width:20px;height:20px;margin:2px 0 0;accent-color:var(--tpt-blue)}
.tpt-choice__title{color:var(--tpt-ink);font-weight:700;line-height:1.35}
.tpt-choice__desc{grid-column:2;color:var(--tpt-text);font-size:.875rem;line-height:1.45}
.tpt-choice:hover{border-color:var(--tpt-field)}
.tpt-choice:has(input:checked){border-color:var(--tpt-blue);background:var(--tpt-blue-50)}
.tpt-choice:has(input:focus-visible){outline:3px solid var(--tpt-focus);outline-offset:2px}
.tpt-quiz{max-width:760px;margin-inline:auto}
.tpt-quiz__top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 var(--tpt-s3)}
.tpt-quiz__count{color:var(--tpt-ink);font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.tpt-quiz__quit{--b-bd:var(--tpt-line-2);--b-fg:var(--tpt-text);min-height:44px;margin-left:auto;padding:8px 12px;border-radius:var(--tpt-r);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}
.tpt-quiz__quit:hover{--b-bg:var(--tpt-soft)}
@media (max-width:599.98px){
	.tpt-quiz__top .tpt-chip{order:4}
	.tpt-quiz__count{order:1}
	.tpt-quiz__top .tpt-timer{order:2}
	.tpt-quiz__quit{order:3}
}
.tpt-timer{--ico:var(--i-clock);position:relative;display:inline-flex;align-items:center;gap:3px;min-width:5.25rem;padding:6px 10px 8px;overflow:hidden;border-radius:var(--tpt-r);background:var(--tpt-soft);color:var(--tpt-ink);font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.tpt-timer::before{width:16px;height:16px;margin-right:3px}
.tpt-timer__value{font-size:1.375rem;font-weight:800}
.tpt-timer__bar{position:absolute;bottom:0;left:0;width:var(--tpt-timer,100%);height:4px;background:var(--tpt-blue);transition:width 1s linear}
.tpt-timer.is-low{--ico:var(--i-warn);background:var(--tpt-err-bg);color:var(--tpt-err);box-shadow:inset 0 0 0 2px var(--tpt-err)}
.tpt-timer.is-low .tpt-timer__bar{background:var(--tpt-err)}
.tpt-progress{position:relative;height:8px;margin:0 0 var(--tpt-s4);overflow:hidden;border-radius:999px;background:var(--tpt-line)}
.tpt-progress__bar{width:var(--tpt-progress,0%);height:100%;border-radius:inherit;background:var(--tpt-blue);transition:width .3s var(--tpt-ease)}
.tpt-qcard{position:relative;padding:var(--tpt-s4);border:1px solid var(--tpt-line);border-radius:var(--tpt-r-lg);background:#fff;box-shadow:var(--tpt-sh-2)}
@media (min-width:600px){
	.tpt-qcard{padding:var(--tpt-s5) var(--tpt-s6)}
}
.tpt-qcard:focus{outline:none}
.tpt-qcard--inline{margin:0 0 var(--tpt-s4);box-shadow:none}
.tpt-qcard__progress{margin:0 0 var(--tpt-s2);color:var(--tpt-muted);font-size:.8125rem;font-weight:650}
.tpt-qcard .tpt-visual{margin:0 0 var(--tpt-s4)}
.tpt-qcard__fieldset{min-width:0;margin:0;padding:0;border:0}
.tpt-qcard__text{float:left;width:100%;margin:0 0 var(--tpt-s4);padding:0;color:var(--tpt-ink);font-size:clamp(1.0625rem,1rem + .4vw,1.25rem);font-weight:700;line-height:1.4}
.tpt-answers{display:grid;clear:both;gap:10px}
.tpt-answer{--b-bg:#fff;--b-fg:var(--tpt-ink);--b-bd:var(--tpt-line-2);display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;min-height:56px;margin:0;padding:10px 14px;border-radius:var(--tpt-r);font:inherit;font-size:1rem;font-weight:500;line-height:1.4;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.tpt-answer__key{display:grid;flex:none;place-items:center;width:32px;height:32px;border:1px solid var(--tpt-line-2);border-radius:8px;background:var(--tpt-soft);color:var(--tpt-ink);font-size:.9375rem;font-weight:800}
.tpt-answer__text{flex:1 1 10rem;min-width:0}
@media (hover:hover){
	.tpt-answer:not(:disabled,[aria-disabled="true"]):hover{--b-bd:var(--tpt-blue);--b-bg:var(--tpt-blue-50)}
}
.tpt-answer:is(:disabled,[aria-disabled="true"]){cursor:default}
/* Étiquette d'état : .tpt-answer__mark (icône + texte, ajoutée par quiz.js) ; ::after seulement en repli. */
.tpt-answer::after,.tpt-answer__mark{margin-left:auto;padding:4px 10px;border-radius:999px;background:var(--tpt-blue);color:#fff;font-size:.8125rem;font-weight:700;line-height:1.2;white-space:nowrap}
.tpt-answer__mark{display:inline-flex;align-items:center;gap:4px}
.tpt-answer:is(.is-selected,[aria-pressed="true"]){--b-bd:var(--tpt-blue);--b-bg:var(--tpt-blue-50);box-shadow:inset 0 0 0 1px var(--tpt-blue)}
.tpt-answer:is(.is-selected,[aria-pressed="true"]) .tpt-answer__key{border-color:var(--tpt-blue);background:var(--tpt-blue);color:#fff}
.tpt-answer:is(.is-selected,[aria-pressed="true"]):not(:has(.tpt-answer__mark))::after{content:"Votre choix";content:"Votre choix" / ""}
.tpt-answer.is-correct{--b-bd:var(--tpt-ok);--b-bg:var(--tpt-ok-bg);box-shadow:inset 0 0 0 1px var(--tpt-ok)}
.tpt-answer.is-correct .tpt-answer__key{border-color:var(--tpt-ok);background:var(--tpt-ok);color:#fff}
.tpt-answer.is-correct :is(.tpt-answer__mark),.tpt-answer.is-correct::after{background:var(--tpt-ok)}
.tpt-answer.is-correct:not(:has(.tpt-answer__mark))::after{content:"✓ Bonne réponse";content:"✓ Bonne réponse" / ""}
.tpt-answer.is-wrong{--b-bd:var(--tpt-err);--b-bg:var(--tpt-err-bg);box-shadow:inset 0 0 0 1px var(--tpt-err)}
.tpt-answer.is-wrong .tpt-answer__key{border-color:var(--tpt-err);background:var(--tpt-err);color:#fff}
.tpt-answer.is-wrong :is(.tpt-answer__mark),.tpt-answer.is-wrong::after{background:var(--tpt-err)}
.tpt-answer.is-wrong:not(:has(.tpt-answer__mark))::after{content:"✗ Votre réponse";content:"✗ Votre réponse" / ""}
.tpt-answers:has(.is-correct) .tpt-answer:not(.is-correct,.is-wrong){opacity:.72}
.tpt-feedback{margin-top:var(--tpt-s4)}
.tpt-feedback:empty{margin:0}
.tpt-feedback:is(.is-correct,.is-wrong){padding:var(--tpt-s4);border:1px solid var(--tpt-ok-bd);border-left:4px solid var(--tpt-ok);border-radius:var(--tpt-r);background:var(--tpt-ok-bg)}
.tpt-feedback.is-wrong{border-color:var(--tpt-err-bd);border-left-color:var(--tpt-err);background:var(--tpt-err-bg)}
.tpt-feedback>*{margin:0}
.tpt-feedback>*+*{margin-top:var(--tpt-s3)}
.tpt-feedback__title{--fb:var(--tpt-ok);display:flex;align-items:center;gap:8px;color:var(--fb);font-size:1.125rem;font-weight:800}
.tpt-feedback__title::before{content:"✓";content:"✓" / "";display:grid;flex:none;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--fb);color:#fff;font-size:.875rem}
.tpt-feedback.is-wrong .tpt-feedback__title{--fb:var(--tpt-err)}
.tpt-feedback.is-wrong .tpt-feedback__title::before{content:"✗";content:"✗" / ""}
/* Statut rendu par quiz.js : p.tpt-feedback__status > span.tpt-icon (✓/✗) + strong */
.tpt-feedback__status{--fb:var(--tpt-ok);display:flex;align-items:center;gap:8px;color:var(--fb);font-size:1.125rem;font-weight:800}
.tpt-feedback.is-wrong .tpt-feedback__status{--fb:var(--tpt-err)}
.tpt-feedback__status .tpt-icon{display:grid;flex:none;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--fb);color:#fff;font-size:.875rem}
.tpt-feedback__answer{color:var(--tpt-ink);font-weight:650}
.tpt-feedback :is(h3,h4,.tpt-feedback__label){margin:0 0 4px;color:var(--tpt-ink);font-size:1rem;font-weight:750}
.tpt-feedback__why>:last-child,.tpt-feedback__rules ul{margin-bottom:0}
.tpt-feedback__tip{padding:12px 14px;border:1px solid var(--tpt-warn-bd);border-radius:var(--tpt-r-sm);background:#fff}
.tpt-feedback .tpt-callout{margin:var(--tpt-s3) 0 0;background:#fff}
.tpt-feedback ul{padding-left:1.2em}
.tpt-feedback__ref,.tpt-feedback__summary{color:var(--tpt-text);font-size:.9375rem}
.tpt-feedback a{font-weight:600}
.tpt-icon{font-weight:800}
.tpt-quiz__msg:empty,.tpt-quiz__notice:empty{display:none}
.tpt-quiz__msg{margin-top:var(--tpt-s4)}
:is(.tpt-quiz__msg,.tpt-quiz__notice) .tpt-notice{margin:0 0 var(--tpt-s4)}
.tpt-notice>:last-child,.tpt-resume__actions{margin-bottom:0}
.tpt-resume__actions{display:flex;flex-wrap:wrap;gap:var(--tpt-s2)}
.tpt-quiz__hint{margin:var(--tpt-s4) 0 0;color:var(--tpt-muted);font-size:.8125rem}
.tpt-quiz__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tpt-s3);margin-top:var(--tpt-s5)}
.tpt-quiz__actions button:is([data-tpt-validate],[data-tpt-next]){flex:1 1 100%;min-height:52px;padding:12px 22px;font-size:1.0625rem}
@media (min-width:600px){
	.tpt-quiz__actions button:is([data-tpt-validate],[data-tpt-next]){flex:0 0 auto}
}
.tpt-fav{--b-bd:var(--tpt-line-2);--b-fg:var(--tpt-text);display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border-radius:var(--tpt-r);font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer}
.tpt-fav:hover{--b-bg:var(--tpt-soft)}
.tpt-fav[aria-pressed="true"]{--b-bd:var(--tpt-yellow);--b-bg:var(--tpt-warn-bg);--b-fg:var(--tpt-ink)}
.tpt-report-link{--b-bd:transparent;--b-fg:var(--tpt-muted);min-height:44px;padding:8px 2px;border-width:0;font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.tpt-report-link:hover{--b-fg:var(--tpt-ink)}
/* 2. Résultat & correction -------------------------------------------- */
/* Badges : l'icône (span aria-hidden) est fournie par les scripts ; le CSS ne l'ajoute qu'en son absence. */
.tpt-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid currentColor;border-radius:999px;font-size:.9375rem;font-weight:700;line-height:1.3}
.tpt-badge--pass{background:var(--tpt-ok-bg);color:var(--tpt-ok)}
.tpt-badge--fail{background:var(--tpt-warn-bg);color:var(--tpt-warn)}
.tpt-badge--grave{border-color:var(--tpt-err);background:var(--tpt-err);color:#fff;font-size:.8125rem}
.tpt-badge--pass:not(:has([aria-hidden]))::before{content:"✓";content:"✓" / ""}
.tpt-badge--fail:not(:has([aria-hidden]))::before{content:"✗";content:"✗" / ""}
.tpt-badge--grave:not(:has([aria-hidden]))::before{content:"!";content:"!" / "";font-weight:800}
.tpt-result{max-width:760px;margin:var(--tpt-s5) auto}
.tpt-result__title,.tpt-result__profile,.tpt-result__score,.tpt-result__verdict,.tpt-result__need,.tpt-result__scale{text-align:center}
.tpt-result__title{margin:0 0 4px}
.tpt-result__profile,.tpt-result__scale{margin:0 0 var(--tpt-s3);color:var(--tpt-muted);font-size:.9375rem}
.tpt-result__score{margin:var(--tpt-s4) 0 var(--tpt-s3);color:var(--tpt-ink);font-size:clamp(2.75rem,2rem + 4vw,4rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.03em}
.tpt-result__verdict{margin:0 0 var(--tpt-s2)}
.tpt-result__need{max-width:36em;margin:0 auto var(--tpt-s5)}
.tpt-result .tpt-badge{padding:6px 14px;font-size:1rem}
.tpt-result__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:var(--tpt-s2);margin:0 0 var(--tpt-s3);padding:0;list-style:none}
.tpt-result__stats li{margin:0;padding:12px;border:1px solid var(--tpt-line);border-radius:var(--tpt-r);background:#fff;font-size:.875rem;line-height:1.35;text-align:center}
.tpt-result__stats strong{display:block;color:var(--tpt-ink);font-size:1.5rem;line-height:1.2}
.tpt-result__block{margin-top:var(--tpt-s5)}
:is(.tpt-result__block,.tpt-review)>h3{margin:0 0 var(--tpt-s3)}
.tpt-result__block ul{margin:0;padding-left:1.2em}
.tpt-result__strong ul{padding:0;list-style:none}
.tpt-result__strong .tpt-icon{color:var(--tpt-ok)}
.tpt-result__block li{margin:0 0 6px}
.tpt-result__cta{margin-top:var(--tpt-s5)}
.tpt-result__terms{margin:0;font-size:.875rem}
.tpt-result__actions{display:flex;flex-wrap:wrap;gap:var(--tpt-s3);margin:var(--tpt-s5) 0 0}
/* Correction détaillée : ol.tpt-review__list > li.tpt-review__item > details */
.tpt-review{margin-top:var(--tpt-s6)}
.tpt-review__tools{margin:0 0 var(--tpt-s2)}
.tpt-review__tools label{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:.9375rem;cursor:pointer}
.tpt-review__tools input{width:20px;height:20px;margin:0;accent-color:var(--tpt-blue)}
.tpt-review__list{display:grid;gap:var(--tpt-s2);margin:0;padding:0;list-style:none}
.tpt-review__item{margin:0;border:1px solid var(--tpt-line);border-left:4px solid var(--tpt-line-2);border-radius:var(--tpt-r);background:#fff}
.tpt-review__item.is-correct{border-left-color:var(--tpt-ok)}
.tpt-review__item.is-wrong{border-left-color:var(--tpt-err)}
.tpt-review__item summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:48px;padding:12px 14px;list-style:none;cursor:pointer}
.tpt-review__item summary::-webkit-details-marker{display:none}
.tpt-review__item summary:focus-visible{outline-offset:-3px}
.tpt-review__num{color:var(--tpt-ink);font-size:.875rem;font-weight:750}
.tpt-review__status{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:.8125rem;font-weight:700}
.is-correct .tpt-review__status{background:var(--tpt-ok-bg);color:var(--tpt-ok)}
.is-wrong .tpt-review__status{background:var(--tpt-err-bg);color:var(--tpt-err)}
.tpt-review__q{flex:1 1 100%;color:var(--tpt-text);font-size:.9375rem;line-height:1.45}
.tpt-review__q::after{content:" ▾";content:" ▾" / "";color:var(--tpt-muted)}
.tpt-review__item details[open] .tpt-review__q::after{content:" ▴";content:" ▴" / ""}
.tpt-review__body{padding:0 14px 14px}
.tpt-review__body>*{margin:0 0 var(--tpt-s3)}
.tpt-review__body>:last-child{margin-bottom:0}
.tpt-review__answers{display:grid;gap:6px;padding:0;list-style:none}
.tpt-review__answer{display:block;margin:0;padding:8px 10px;border:1px solid var(--tpt-line);border-radius:var(--tpt-r-sm);font-size:.9375rem;line-height:1.4}
.tpt-review__answer.is-correct{border-color:var(--tpt-ok);background:var(--tpt-ok-bg)}
.tpt-review__answer.is-wrong{border-color:var(--tpt-err);background:var(--tpt-err-bg)}
.tpt-review__answer .tpt-answer__key{display:inline-grid;width:26px;height:26px;margin-right:2px;font-size:.8125rem;vertical-align:middle}
.tpt-review__answer.is-correct .tpt-icon{color:var(--tpt-ok)}
.tpt-review__answer.is-wrong .tpt-icon{color:var(--tpt-err)}
.tpt-review__tag{display:inline-block;margin-left:4px;padding:1px 8px;border:1px solid currentColor;border-radius:999px;background:#fff;font-size:.75rem;font-style:normal;font-weight:700;white-space:nowrap}
.is-correct>.tpt-review__tag{color:var(--tpt-ok)}
.is-wrong>.tpt-review__tag{color:var(--tpt-err)}
.tpt-review__blank{color:var(--tpt-err);font-size:.9375rem;font-weight:600}
/* Signalement d'une question : <dialog> (natif ou repli) */
.tpt-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:var(--tpt-s5);overflow:auto;border:0;border-radius:var(--tpt-r-lg);background:#fff;color:var(--tpt-text);box-shadow:0 20px 50px rgba(15,23,42,.25)}
.tpt-dialog::backdrop{background:rgba(15,23,42,.55)}
.tpt-dialog--fallback{position:fixed;inset:16px;z-index:1100;height:fit-content}
.tpt-dialog--fallback:not([open]){display:none}
.tpt-dialog__title{margin:0 0 var(--tpt-s3);font-size:1.25rem}
.tpt-dialog .tpt-field{min-width:0;padding:0;border:0}
.tpt-dialog .tpt-choice{min-height:48px;padding:10px 14px}
.tpt-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--tpt-s2)}
.tpt-field__help{color:var(--tpt-muted);font-size:.8125rem}
/* 3. Offre & paywall --------------------------------------------------- */
.tpt-offer{position:relative;max-width:520px;margin:var(--tpt-s5) auto;padding:var(--tpt-s5);border:2px solid var(--tpt-blue);border-radius:var(--tpt-r-lg);background:#fff;box-shadow:0 10px 30px rgba(27,79,216,.1)}
@media (min-width:600px){
	.tpt-offer{padding:var(--tpt-s6)}
}
.tpt-offer__name{display:inline-flex;margin:0 0 var(--tpt-s3);padding:4px 12px;border-radius:999px;background:var(--tpt-yellow);color:var(--tpt-ink);font-size:.8125rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.tpt-offer__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 var(--tpt-s2);line-height:1}
.tpt-offer__amount{color:var(--tpt-ink);font-size:clamp(2.75rem,2.2rem + 3vw,3.75rem);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;white-space:nowrap}
.tpt-offer__period{color:var(--tpt-text);font-size:1.0625rem;font-weight:600;line-height:1.3}
.tpt-offer__terms{margin:0 0 var(--tpt-s4);color:var(--tpt-ok);font-size:.9375rem;font-weight:650}
.tpt-offer__features{margin:0 0 var(--tpt-s5);padding-top:var(--tpt-s4);border-top:1px solid var(--tpt-line)}
.tpt-offer .tpt-btn--lg{width:100%}
.tpt-offer__secure{--ico:var(--i-lock);position:relative;margin:var(--tpt-s4) 0 0;padding-left:26px;color:var(--tpt-muted);font-size:.875rem}
.tpt-offer__secure::before{position:absolute;top:.15em;left:0;width:18px;height:18px}
.tpt-offer__free{margin:var(--tpt-s2) 0 0;color:var(--tpt-ink);font-size:.875rem;font-weight:650}
.tpt-checkout>*+*{margin-top:var(--tpt-s3)}
.tpt-checkout>.tpt-form__msg:empty{margin:0}
.tpt-consent:not(#tpt-consent){display:flex;align-items:flex-start;gap:10px;color:var(--tpt-text);font-size:.875rem;line-height:1.5;cursor:pointer}
.tpt-consent:not(#tpt-consent) input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--tpt-blue)}
.tpt-paywall{max-width:640px;margin:var(--tpt-s5) auto;padding:var(--tpt-s5);border:1px solid var(--tpt-blue-100);border-radius:var(--tpt-r-lg);background:linear-gradient(180deg,var(--tpt-blue-50),#fff 70%);text-align:center}
.tpt-paywall::before{content:"";display:block;width:48px;height:48px;margin:0 auto var(--tpt-s3);border-radius:14px;background:var(--tpt-blue) url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'><rect x='5' y='10.5' width='14' height='10' rx='2.5'/><path d='M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5'/></svg>") center / 26px no-repeat}
.tpt-paywall__price strong{color:var(--tpt-ink);font-size:1.125rem}
.tpt-paywall__price span{font-size:.875rem}
.tpt-paywall p:has(.tpt-btn){display:flex;flex-wrap:wrap;justify-content:center;gap:var(--tpt-s3)}
.tpt-paywall__free{margin:0;font-size:.9375rem}
/* 4. Compte, connexion, contact ---------------------------------------- */
.tpt-login{max-width:480px;margin:var(--tpt-s5) auto}
.tpt-login__alt{margin:var(--tpt-s3) 0 0;font-size:.9375rem}
.tpt-status{margin:0 0 var(--tpt-s4);padding:10px 14px;border-radius:var(--tpt-r-sm);font-size:.9375rem}
.tpt-status--on{background:var(--tpt-ok-bg);color:var(--tpt-ink);box-shadow:inset 4px 0 0 var(--tpt-ok)}
.tpt-status--off{background:var(--tpt-warn-bg);color:var(--tpt-ink);box-shadow:inset 4px 0 0 var(--tpt-warn)}
.tpt-loading{display:flex;align-items:center;gap:10px;color:var(--tpt-muted);font-size:.9375rem}
.tpt-loading::before{content:"";flex:none;width:18px;height:18px;border:2px solid var(--tpt-line);border-top-color:var(--tpt-blue);border-radius:50%;animation:tpt-spin .8s linear infinite}
@keyframes tpt-spin{
	to{transform:rotate(360deg)}
}
.tpt-dashboard{display:grid;gap:var(--tpt-s6)}
.tpt-dashboard>section>:last-child{margin-bottom:0}
.tpt-dashboard__head{padding:var(--tpt-s5);border:1px solid var(--tpt-line);border-radius:var(--tpt-r-lg);background:var(--tpt-bg)}
.tpt-dashboard__hello{margin:0 0 var(--tpt-s3);color:var(--tpt-ink);font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);font-weight:800;line-height:1.2}
.tpt-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tpt-s3);margin:0 0 var(--tpt-s5);padding:0;list-style:none}
@media (min-width:768px){
	.tpt-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
}
.tpt-kpi{display:flex;flex-direction:column;gap:2px;margin:0;padding:var(--tpt-s4);border:1px solid var(--tpt-line);border-radius:var(--tpt-r);background:#fff}
.tpt-kpi .tpt-kpi__value,.tpt-kpi strong{color:var(--tpt-ink);font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
:is(.tpt-kpi__label,.tpt-kpi>span){color:var(--tpt-muted);font-size:.8125rem;font-weight:600;line-height:1.35}
.tpt-kpi__note{color:var(--tpt-muted);font-size:.75rem;line-height:1.35}
.tpt-dashboard__title{margin:0 0 var(--tpt-s4)}
.tpt-dashboard__stats section{margin-top:var(--tpt-s5)}
.tpt-dashboard__stats h3{margin:0 0 var(--tpt-s3)}
.tpt-dashboard__bars{display:grid;gap:var(--tpt-s3);margin:0;padding:0;list-style:none}
.tpt-dashboard__bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:baseline;margin:0}
.tpt-dashboard__bar-label{color:var(--tpt-ink);font-size:.9375rem;font-weight:600}
.tpt-dashboard__bar-value{grid-row:1;grid-column:2;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.tpt-dashboard__bar-value small{color:var(--tpt-muted);font-weight:500}
.tpt-dashboard__bar .tpt-progress{grid-column:1 / -1;margin:0}
.tpt-dashboard__split{display:grid;gap:0 var(--tpt-s5)}
.tpt-dashboard__list{margin:0;padding-left:1.2em}
.tpt-dashboard__list li{margin:0 0 6px}
.tpt-dashboard__counters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tpt-s3);margin:0 0 var(--tpt-s3);padding:0;list-style:none}
.tpt-dashboard__counters li{margin:0;padding:var(--tpt-s4);border:1px solid var(--tpt-line);border-radius:var(--tpt-r);background:#fff}
.tpt-dashboard__counters strong{display:block;color:var(--tpt-ink);font-size:1.5rem;line-height:1.2}
.tpt-dashboard__counters a{display:inline-flex;align-items:center;min-height:44px}
@media (min-width:768px){
	.tpt-dashboard__split{grid-template-columns:1fr 1fr}
}
/* Témoignages et formulaires associés */
.tpt-testimonials{display:grid;gap:var(--tpt-s3);margin:var(--tpt-s5) 0;padding:0;list-style:none}
@media (min-width:768px){
	.tpt-testimonials{grid-template-columns:repeat(2,minmax(0,1fr))}
	.tpt-form__grid{grid-template-columns:1fr 1fr}
}
.tpt-testimonial{display:flex;flex-direction:column;margin:0;padding:var(--tpt-s4) var(--tpt-s5);border:1px solid var(--tpt-line);border-radius:var(--tpt-r-lg);background:#fff}
.tpt-testimonial blockquote{flex:1;margin:0 0 var(--tpt-s3);padding:0;border:0;color:var(--tpt-ink)}
.tpt-testimonial blockquote p{margin:0}
.tpt-testimonial__who{margin:0;color:var(--tpt-muted);font-size:.875rem}
.tpt-testimonial__who strong{color:var(--tpt-ink)}
.tpt-form__title{color:var(--tpt-ink);font-size:1.25rem;font-weight:750;line-height:1.3}
.tpt-form__grid{display:grid;gap:0 var(--tpt-s4)}
.tpt-form__legal{color:var(--tpt-muted);font-size:.875rem}
/* Fiches panneaux */
.tpt-sign-page__header{display:grid;gap:var(--tpt-s4);align-items:center;margin:0 0 var(--tpt-s5)}
.tpt-sign-page__visual{display:flex;justify-content:center;padding:var(--tpt-s4);border:1px solid var(--tpt-line);border-radius:var(--tpt-r-lg);background:var(--tpt-bg)}
.tpt-sign-page h1{margin:var(--tpt-s2) 0}
.tpt-sign--xl{width:clamp(140px,40vw,200px);height:auto}
.tpt-back{margin-top:var(--tpt-s5);font-weight:600}
@media (min-width:600px){
	.tpt-sign-page__header{grid-template-columns:auto minmax(0,1fr);gap:var(--tpt-s5)}
}
.tpt-success{max-width:560px;margin:var(--tpt-s5) auto;text-align:center}
.tpt-success .tpt-loading{justify-content:center}
.tpt-contact{display:grid;gap:var(--tpt-s5)}
.tpt-contact__card,.tpt-legal-id{padding:var(--tpt-s5);border:1px solid var(--tpt-line);border-radius:var(--tpt-r-lg);background:var(--tpt-bg)}
.tpt-contact__card h2,.tpt-contact-form h2{margin-top:0}
.tpt-faq-nav ul{display:flex;flex-wrap:wrap;gap:var(--tpt-s2);margin:0 0 var(--tpt-s5);padding:0;list-style:none}
.tpt-faq-nav li{margin:0}
.tpt-faq-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--tpt-line);border-radius:999px;color:var(--tpt-ink);font-size:.9375rem;font-weight:600;text-decoration:none}
@media (min-width:900px){
	.tpt-contact{grid-template-columns:1fr 1.4fr;align-items:start}
}
