/* Le Tarot du Mage — pages de vente, FAQ, espace élève (habillage magique et léger, indépendant du thème) */
.tbs{--v:#7656d3;--v2:#5b3fb3;--g:#d4a23c;--rose:#e58bbd;--ink:#392a5c;--mut:#7b6c9d;--line:rgba(118,86,211,.24);--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;max-width:960px;margin:1.5em auto;font-family:var(--font);font-size:1rem;line-height:1.6;color:var(--ink)}
.tbs *{box-sizing:border-box;font-family:var(--font)}
.tbs h3,.tbs h4{letter-spacing:.01em}
.tbs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.tbs-card,.tbs-form,.tbs-summary,.tbs-faq-item,.tbs-locked,.tbs-account-box{color:var(--ink);background:
  radial-gradient(50% 40% at 0% 0%,rgba(190,160,255,.30),transparent 70%),radial-gradient(50% 40% at 100% 100%,rgba(255,200,150,.28),transparent 70%),linear-gradient(170deg,#fbf7ff,#fff8fb);
  border:1px solid var(--line);box-shadow:0 8px 26px rgba(118,86,211,.14)}
.tbs-card{position:relative;overflow:hidden;border-radius:20px;padding:26px 22px;display:flex;flex-direction:column;gap:6px}
.tbs-card::before{content:"✦ ☽ ✦";display:block;text-align:center;color:var(--g);letter-spacing:.5em;font-size:.8rem;margin-bottom:4px}
.tbs-card.is-selected{border-color:var(--v);box-shadow:0 0 0 3px rgba(118,86,211,.25),0 12px 30px rgba(118,86,211,.25)}
.tbs-card h3{margin:0 0 4px;text-align:center;font-size:1.4rem;font-weight:700;color:var(--v2)}
.tbs-pitch{text-align:center;color:var(--mut);margin:0 0 6px}
.tbs-price{font-size:2.3rem;font-weight:800;margin:6px 0 0;text-align:center;background:linear-gradient(100deg,#6a49c8,#e58bbd 55%,#d4a23c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tbs-price small{font-size:.85rem;opacity:.8;font-weight:500;-webkit-text-fill-color:var(--mut)}
.tbs-dur{text-align:center;color:var(--mut);margin:0 0 10px;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}
.tbs-card ul{list-style:none;margin:8px 0 16px;padding:0}
.tbs-card li{position:relative;padding:5px 0 5px 24px;border-top:1px solid rgba(118,86,211,.12)}
.tbs-card li::before{content:"✦";position:absolute;left:2px;top:5px;color:var(--g);font-size:.8rem}
.tbs-desc{color:var(--mut)}
.tbs-card .tbs-btn{margin-top:auto;align-self:center}
.tbs-btn,.tbs button.tbs-btn{position:relative;overflow:hidden;display:inline-block;background:linear-gradient(120deg,#8b66e6,#b077dd 50%,#e58bbd);color:#fff!important;border:0;border-radius:999px;padding:.8em 1.8em;font-size:1rem;font-weight:700;letter-spacing:.03em;cursor:pointer;text-decoration:none;box-shadow:0 4px 16px rgba(139,102,230,.35);transition:all .2s}
.tbs-btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg)}
.tbs-btn:hover{box-shadow:0 6px 24px rgba(176,119,221,.55);transform:translateY(-1px)}
.tbs-btn:active{transform:translateY(1px)}
.tbs-form{margin-top:30px;border-radius:20px;padding:26px}
.tbs-form h3{color:var(--v2);margin-top:0}
.tbs-form label{display:block;font-weight:600;margin-bottom:4px;color:var(--v2)}
.tbs-form input[type=text],.tbs-form input[type=email]{width:100%;max-width:460px;padding:.7em;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.tbs-form input:focus{outline:none;border-color:var(--v);box-shadow:0 0 0 3px rgba(118,86,211,.2)}
.tbs-check label{font-weight:400;display:flex;gap:8px;align-items:flex-start;color:var(--ink)}
.tbs-check input{margin-top:.35em;accent-color:var(--v)}
.tbs-form a,.tbs-summary a,.tbs-locked a:not(.tbs-btn){color:var(--v)}
.tbs-hp{position:absolute!important;left:-9999px;height:0;overflow:hidden}
.tbs-small,.tbs-note{font-size:.9rem;opacity:.85}
.tbs-form .tbs-small,.tbs-summary .tbs-small{color:var(--mut);opacity:1}
.tbs-error{background:rgba(225,95,85,.12);color:#b13b32;border:1px solid rgba(194,72,63,.4);padding:.8em 1em;border-radius:10px}
.tbs-summary{border-radius:20px;padding:26px}
.tbs-summary h3{color:var(--v2);margin-top:0;text-align:center}
.tbs-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px}
.tbs-dl dt{font-weight:600;color:var(--v)}.tbs-dl dd{margin:0;word-break:break-all}
.tbs-dl code{background:rgba(118,86,211,.10);color:var(--v2);padding:2px 8px;border-radius:6px}
.tbs-list{padding-left:1.2em}
.tbs-locked{border-radius:20px;padding:22px;text-align:center}
.tbs-account-box{border-radius:20px;padding:22px}
.tbs-faq{margin-top:40px}
.tbs-faq>h3{text-align:center;font-size:1.6rem;color:var(--v2)}
.tbs-faq>h3::after{content:"✦ ☽ ✦";display:block;font-size:.8rem;letter-spacing:.6em;color:var(--g);margin-top:4px}
.tbs-faq-item{border-radius:14px;padding:.9em 1.1em;margin:10px 0;transition:box-shadow .2s}
.tbs-faq-item:hover{box-shadow:0 6px 20px rgba(118,86,211,.18)}
.tbs-faq-item summary{cursor:pointer;font-size:1.05rem;font-weight:700;color:var(--v2);list-style:none;position:relative;padding-right:1.6em}
.tbs-faq-item summary::-webkit-details-marker{display:none}
.tbs-faq-item summary::after{content:"✦";position:absolute;right:0;top:0;color:var(--g);transition:transform .25s}
.tbs-faq-item[open] summary::after{transform:rotate(135deg)}
.tbs-faq-item div{margin-top:.6em;color:var(--ink)}

.tbs-intro{position:relative;text-align:center;margin:0 auto 28px;padding:30px 24px;border-radius:22px;border:1px solid var(--line);background:radial-gradient(60% 50% at 0% 0%,rgba(190,160,255,.35),transparent 70%),radial-gradient(60% 50% at 100% 100%,rgba(255,200,150,.35),transparent 70%),linear-gradient(170deg,#fbf7ff,#fff8fb);box-shadow:0 10px 30px rgba(118,86,211,.16)}
.tbs-intro::before{content:"✦ ☽ ✦";display:block;color:var(--g);letter-spacing:.6em;font-size:.85rem;margin-bottom:6px}
.tbs-intro h3{margin:0 0 12px;font-size:1.7rem;font-weight:800;line-height:1.2;background:linear-gradient(100deg,#6a49c8,#e58bbd 50%,#d4a23c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tbs-intro p{margin:0 auto 12px;max-width:640px;color:var(--ink)}
.tbs-pills{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.tbs-pills li{padding:7px 16px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid var(--line);color:var(--v2);font-weight:600;font-size:.92rem;box-shadow:0 2px 10px rgba(118,86,211,.1)}
.tbs-pills li::before{content:"✦ ";color:var(--g)}
@media (prefers-reduced-motion:no-preference){
.tbs-intro h3{background-size:220% 100%;animation:tbs-shim 7s linear infinite}
.tbs-pills li{animation:tbs-rise .6s ease both}.tbs-pills li:nth-child(2){animation-delay:.1s}.tbs-pills li:nth-child(3){animation-delay:.2s}.tbs-pills li:nth-child(4){animation-delay:.3s}
.tbs-card,.tbs-faq-item{animation:tbs-rise .5s ease both}
.tbs-btn::after{animation:tbs-sweep 4s ease-in-out infinite}
@keyframes tbs-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes tbs-sweep{0%,55%{left:-60%}100%{left:140%}}
.tbs-price{background-size:200% 100%;animation:tbs-shim 6s linear infinite}
@keyframes tbs-shim{to{background-position:-200% 0}}
}
@media(max-width:600px){.tbs-dl{grid-template-columns:1fr}.tbs-price{font-size:2rem}}
