/* Tarot é Vida — engine unificada v1.0 (TK-0026)
 * CSS ÚNICO para todos os modos (sim/não, 3 cartas, dia, amor, sombra, semana,
 * oráculo e modos criados no admin). Base = CSS aprovado da série TK-0026:
 * leque de 8 cartas em GRID (desktop 8, mobile 4+4), flip 3D 2:3.5, shuffle
 * animado, paleta completa via CSS vars, hover editável, RTL, tipografia por
 * item, disclaimer protegido. Acréscimos v1.0 unificada:
 * - .tev-today-label (moldura "Sua carta de hoje" — modo dia)
 * - .tev-spread com --tev-npos (spreads de N posições p/ modos criados no admin)
 */
.tev-app{--tev-bg:#fffaf2;--tev-btn-bg:#33251d;--tev-btn-color:#fff;--tev-btn-py:14px;--tev-btn-px:24px;--tev-btn-offset:0px;--tev-btn-radius:999px;max-width:920px;width:100%;box-sizing:border-box;margin:24px auto;padding:clamp(16px,4vw,42px);border:1px solid #e6dfd3;border-radius:22px;background:var(--tev-bg);box-shadow:0 12px 36px rgba(36,24,12,.08);font-family:inherit;color:var(--tev-text-color,#2d241d);overflow:hidden}
.tev-app *{box-sizing:border-box}
.tev-intro-title{margin:0 0 18px;text-align:center;font-family:var(--tev-ff-title,inherit);font-size:calc(var(--tev-fs-title,30px) * 1.06);line-height:1.2;color:var(--tev-title-color,#2d241d);letter-spacing:.5px}
.tev-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tev-field{margin-bottom:18px}
.tev-field label{display:block;font-weight:700;margin-bottom:7px;font-family:var(--tev-ff-label,inherit);font-size:var(--tev-fs-label,inherit);color:var(--tev-label-color,inherit)}
.tev-field input,.tev-field select{width:100%;min-height:48px;padding:12px 14px;border:1px solid #cfc5b6;border-radius:10px;background:#fff;font-size:16px;line-height:1.35;color:#222}
.tev-stage{text-align:center;padding:18px 0}
.tev-stage p{line-height:1.5}
.tev-btn{appearance:none;-webkit-appearance:none;border:0;border-radius:var(--tev-btn-radius);padding:var(--tev-btn-py) var(--tev-btn-px);min-height:0;font-family:var(--tev-ff-btn,inherit);font-size:var(--tev-fs-btn,clamp(14px,2.4vw,16px));font-weight:700;cursor:pointer;background:var(--tev-btn-bg);color:var(--tev-btn-color);display:inline-flex;align-items:center;justify-content:center;line-height:1.2;text-align:center;vertical-align:middle;transition:transform .18s ease,filter .18s ease;box-shadow:none}
/* v3.6: respiro acima dos botoes que ficavam colados no texto */
.tev-shuffle,.tev-stop,.tev-replay{margin-top:1.75rem}
.tev-btn-label{display:block;line-height:1.2;transform:translateY(var(--tev-btn-offset))}
/* v1.1: hover com cores editaveis no admin (fundo-hover e texto-hover) */
.tev-btn:hover{transform:translateY(-1px);background:var(--tev-btn-bg-hover,var(--tev-btn-bg));color:var(--tev-btn-color-hover,var(--tev-btn-color))}
.tev-btn:focus-visible,.tev-card-back:focus-visible{outline:3px solid rgba(90,45,110,.28);outline-offset:3px}

/* ==== Fileira de cartas fechadas (proporcao RETRATO 2:3.5) ==== */
.tev-card-row{display:grid;grid-template-columns:repeat(8,minmax(0,112px));justify-content:center;gap:clamp(8px,2vw,14px);margin-top:18px;width:100%}
.tev-card-back{width:100%;max-width:112px;height:0;padding:0 0 175%;border-radius:10px;border:3px solid var(--tev-accent,#e7c66d);background:radial-gradient(circle at center,var(--tev-cardback-a,#5f234a),var(--tev-cardback-b,#26142f) 68%);box-shadow:0 7px 16px rgba(0,0,0,.18);cursor:pointer;position:relative;overflow:hidden;animation:tevDeal .35s ease both}
@supports (aspect-ratio:2/3.5){.tev-card-back{height:auto;padding:0;aspect-ratio:2/3.5}}
.tev-card-back:after{content:'✦';position:absolute;top:0;left:0;right:0;bottom:0;display:grid;place-items:center;font-size:clamp(22px,4.5vw,34px);color:var(--tev-accent,#e7c66d)}

/* ==== Resultado ==== */
.tev-result-card{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:28px;text-align:left;align-items:start}
.tev-card-image{width:100%;max-width:280px;border-radius:10px;box-shadow:0 12px 25px rgba(0,0,0,.18);height:auto}
.tev-answer{display:inline-block;padding:7px 13px;border-radius:999px;background:#eee;font-weight:900;letter-spacing:.05em}
.tev-answer[data-answer="SIM"]{background:#dff4e5}
.tev-answer[data-answer="NÃO"]{background:#f8dddd}
.tev-answer[data-answer="TALVEZ"]{background:#fff0c8}
.tev-result-copy h3{font-family:var(--tev-ff-title,inherit);font-size:var(--tev-fs-title,clamp(25px,4vw,30px));margin:12px 0;color:var(--tev-title-color,inherit)}
.tev-result-copy h4{margin:18px 0 4px;font-family:var(--tev-ff-content,inherit);color:var(--tev-readinglabel-color,var(--tev-accent,#e7c66d))}
.tev-result-copy p{font-family:var(--tev-ff-content,inherit);font-size:var(--tev-fs-content,inherit)}
/* v3.6: disclaimer maior por padrao (legivel) + tipografia propria */
.tev-disclaimer{font-family:var(--tev-ff-disclaimer,inherit);font-size:var(--tev-fs-disclaimer,clamp(13px,2.2vw,15px));opacity:.7;color:var(--tev-disclaimer-color,inherit);text-align:center;margin-top:26px;position:relative;z-index:2;clear:both}

/* ==== Embaralhamento visivel: cartas RETRATO cruzando em duas direcoes ==== */
.tev-shuffling{min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tev-shuffling[hidden]{display:none}
.tev-shuffle-label{font-weight:700;margin:0 0 24px}
.tev-shuffle-deck{position:relative;width:min(340px,72vw);height:176px;margin:auto;perspective:700px}
.tev-shuffle-card{--spread:calc((var(--i) - 5.5) * 4px);position:absolute;left:50%;top:50%;width:72px;height:126px;margin:-63px 0 0 -36px;border-radius:8px;border:2px solid var(--tev-accent,#e7c66d);background:radial-gradient(circle at center,var(--tev-cardback-a,#5f234a),var(--tev-cardback-b,#26142f) 68%);box-shadow:0 5px 12px rgba(0,0,0,.2);animation:tevShuffleA 1.05s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -88ms);transform-origin:center;will-change:transform}
.tev-shuffle-card:nth-child(even){animation-name:tevShuffleB;animation-duration:1.2s}
.tev-shuffle-card:after{content:'✦';position:absolute;top:0;left:0;right:0;bottom:0;display:grid;place-items:center;color:var(--tev-accent,#e7c66d);font-size:22px}
/* metade das cartas viaja da esquerda p/ direita passando POR CIMA do centro... */
@keyframes tevShuffleA{0%{transform:translate3d(calc(-98px + var(--spread)),calc((var(--i) - 5.5) * 2px),0) rotate(calc(-12deg + var(--i) * .9deg));z-index:calc(20 - var(--i))}45%{transform:translate3d(calc(var(--spread) * .3),-30px,26px) rotate(calc(6deg - var(--i) * .5deg)) scale(1.05);z-index:calc(24 + var(--i))}100%{transform:translate3d(calc(98px - var(--spread)),calc((5.5 - var(--i)) * 2px),0) rotate(calc(12deg - var(--i) * .8deg));z-index:calc(20 - var(--i))}}
/* ...e a outra metade cruza no sentido contrario passando POR BAIXO */
@keyframes tevShuffleB{0%{transform:translate3d(calc(98px - var(--spread)),calc((var(--i) - 5.5) * -2px),0) rotate(calc(11deg - var(--i) * .7deg));z-index:calc(var(--i) + 1)}45%{transform:translate3d(calc(var(--spread) * -.3),32px,-14px) rotate(calc(-6deg + var(--i) * .5deg)) scale(.96);z-index:calc(var(--i) + 2)}100%{transform:translate3d(calc(-98px + var(--spread)),calc((5.5 - var(--i)) * -2px),0) rotate(calc(-11deg + var(--i) * .8deg));z-index:calc(var(--i) + 1)}}
@keyframes tevDeal{from{opacity:0;transform:translateY(14px) rotate(2deg)}to{opacity:1;transform:none}}

@media(max-width:680px){.tev-app{margin:12px auto;padding:18px 14px;border-radius:14px}.tev-top-grid{grid-template-columns:1fr;gap:0}.tev-field{margin-bottom:14px}.tev-field input,.tev-field select{font-size:16px;min-height:48px}.tev-stage{padding:14px 0}.tev-btn{width:min(100%,360px)}.tev-card-row{grid-template-columns:repeat(4,minmax(0,74px));gap:8px}.tev-card-back{max-width:74px;border-width:2px}.tev-result-card{grid-template-columns:1fr;gap:20px;text-align:center}.tev-card-image{max-width:210px;margin:auto}.tev-result-copy{text-align:left}.tev-result-copy .tev-answer,.tev-result-copy h3{text-align:center}.tev-answer{display:table;margin:0 auto}.tev-shuffling{min-height:240px}.tev-shuffle-deck{width:250px;height:150px}.tev-shuffle-card{width:56px;height:98px;margin:-49px 0 0 -28px}}
@media(max-width:380px){.tev-app{padding:15px 10px}.tev-card-row{grid-template-columns:repeat(4,minmax(0,62px));gap:6px}.tev-card-back{max-width:62px}.tev-shuffle-deck{transform:scale(.9)}}
@media(prefers-reduced-motion:reduce){.tev-shuffle-card,.tev-card-back,.tev-btn{animation:none!important;transition:none!important}}

/* ==== v3.2 (TK-0026): botao Escolher carta + revelacao AUTOMATICA (flip 3D) ==== */
.tev-stop-hint{margin:18px auto 14px;max-width:420px;font-size:14px;opacity:.8;line-height:1.5}
.tev-stop{margin-top:1.75rem} /* v3.6: respiro (regra tardia; nao deixar voltar a 2px) */
.tev-reveal[hidden]{display:none}
/* carta escolhida: vira sozinha; mesma proporcao RETRATO 2:3.5 no verso e na frente */
.tev-flip{border:0;padding:0;background:none;cursor:default;pointer-events:none;display:inline-block;width:min(220px,58vw);perspective:900px;-webkit-perspective:900px;animation:tevDeal .35s ease both}
.tev-flip-inner{position:relative;display:block;width:100%;height:0;padding-bottom:175%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.25,1);-webkit-transition:-webkit-transform .65s cubic-bezier(.2,.7,.25,1)}
@supports (aspect-ratio:2/3.5){.tev-flip-inner{height:auto;padding-bottom:0;aspect-ratio:2/3.5}}
.tev-flip.is-flipped .tev-flip-inner{transform:rotateY(180deg);-webkit-transform:rotateY(180deg)}
.tev-flip-front,.tev-flip-back{position:absolute;top:0;left:0;right:0;bottom:0;display:block;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.tev-flip-front{border:3px solid var(--tev-accent,#e7c66d);background:radial-gradient(circle at center,var(--tev-cardback-a,#5f234a),var(--tev-cardback-b,#26142f) 68%);box-shadow:0 10px 22px rgba(0,0,0,.2)}
.tev-flip-front:after{content:'✦';position:absolute;top:0;left:0;right:0;bottom:0;display:grid;place-items:center;font-size:clamp(30px,6vw,46px);color:var(--tev-accent,#e7c66d)}
.tev-flip-back{transform:rotateY(180deg);-webkit-transform:rotateY(180deg);box-shadow:0 12px 25px rgba(0,0,0,.18);background:var(--tev-cardback-b,#26142f)}
.tev-flip-img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px}
@media(max-width:680px){.tev-flip{width:min(190px,60vw)}.tev-stop-hint{font-size:13px}.tev-stop{width:min(100%,360px)}}
@media(prefers-reduced-motion:reduce){.tev-flip-inner{transition:none!important}}
/* fallback de seguranca p/ engines sem preserve-3d: face da carta só aparece após o flip */
.tev-flip .tev-flip-back{opacity:0;transition:opacity 0s linear .3s;-webkit-transition:opacity 0s linear .3s}
.tev-flip.is-flipped .tev-flip-back{opacity:1}
.tev-flip.is-flipped .tev-flip-front{opacity:0;transition:opacity 0s linear .3s;-webkit-transition:opacity 0s linear .3s}

/* ==== v3.3: suporte RTL (árabe) — texto à direita, layout preservado ==== */
.tev-app[dir="rtl"]{direction:rtl}
.tev-app[dir="rtl"] .tev-field label{text-align:right}
.tev-app[dir="rtl"] .tev-field input,.tev-app[dir="rtl"] .tev-field select{direction:rtl;text-align:right}
.tev-app[dir="rtl"] .tev-result-card{text-align:right}
.tev-app[dir="rtl"] .tev-result-copy{text-align:right}
@media(max-width:680px){.tev-app[dir="rtl"] .tev-result-copy{text-align:right}}

/* ==== Oraculo Junguiano v1.0: spread de 3 posicoes ==== */
.tev-spread{display:grid;grid-template-columns:repeat(var(--tev-npos,3),minmax(0,1fr));gap:clamp(10px,3vw,24px);justify-items:center;align-items:start;max-width:640px;margin:0 auto}
.tev-slot{width:100%;max-width:170px}
.tev-pos-label{font-weight:700;margin:0 0 10px;font-family:var(--tev-ff-label,inherit);font-size:var(--tev-fs-label,inherit);color:var(--tev-poslabel-color,inherit)}
.tev-spread .tev-flip{width:100%}
/* carta ja escolhida no leque: apagada e sem clique */
.tev-card-back.is-taken{opacity:.25;cursor:default;transform:scale(.94);transition:opacity .25s ease,transform .25s ease;animation:none}
/* ==== leitura por posicao + sintese ==== */
.tev-reading{text-align:left;margin-top:6px}
.tev-reading-item{display:grid;grid-template-columns:minmax(90px,120px) minmax(0,1fr);gap:18px;align-items:start;padding:18px 0;border-top:1px solid #e6dfd3}
.tev-reading-item:first-child{border-top:0}
.tev-reading-img{width:100%;border-radius:8px;box-shadow:0 8px 18px rgba(0,0,0,.15);height:auto}
.tev-reading h3{font-family:var(--tev-ff-title,inherit);font-size:clamp(18px,3vw,22px);margin:0 0 8px;color:var(--tev-title-color,inherit)}
.tev-reading h4{margin:12px 0 4px;font-family:var(--tev-ff-content,inherit);color:var(--tev-readinglabel-color,var(--tev-accent,#e7c66d))}
.tev-reading p{font-family:var(--tev-ff-content,inherit);font-size:var(--tev-fs-content,inherit);line-height:1.6;margin:0 0 6px}
.tev-synthesis{display:block;background:rgba(0,0,0,.035);border-radius:12px;padding:16px 18px;border-top:0;margin-top:10px}
/* mobile: 3 cartas EMPILHADAS, leitura compacta */
@media(max-width:680px){
.tev-spread{grid-template-columns:1fr;gap:18px}
.tev-slot{max-width:200px}
.tev-reading-item{grid-template-columns:minmax(70px,90px) minmax(0,1fr);gap:12px}
}
/* RTL (arabe): leitura alinhada a direita */
.tev-app[dir="rtl"] .tev-reading{text-align:right}

/* ==== modo DIA: moldura "Sua carta de hoje" (herdada do Tarot do Dia v1.1) ==== */
.tev-today-label{display:inline-block;padding:7px 14px;border-radius:999px;border:1.5px solid var(--tev-accent,#e7c66d);background:rgba(231,198,109,.14);font-family:var(--tev-ff-label,inherit);font-size:var(--tev-fs-label,14px);font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--tev-label-color,#2d241d)}
@media(max-width:680px){.tev-result-copy .tev-today-label{text-align:center}.tev-today-label{display:table;margin:0 auto}}
