.tbr { --tbr-ink: #2a1a5e; --tbr-gold: #9a7a35; --tbr-line: rgba(42, 26, 94, .15); max-width: 900px; margin: 0 auto; }
.tbr h2 { margin: .2em 0 .4em; }
.tbr h3 { margin: 1.6em 0 .4em; }
.tbr-btn, .tarot-br-upsell-btn { display: inline-block; padding: .6em 1.2em; border-radius: 6px; background: var(--tbr-ink, #2a1a5e); color: #fff !important; text-decoration: none !important; border: 0; cursor: pointer; font: inherit; }
.tbr-btn:hover, .tarot-br-upsell-btn:hover { opacity: .9; }
.tbr-btn[disabled] { opacity: .5; cursor: not-allowed; }
.tbr-btn-alt { background: transparent; color: var(--tbr-ink) !important; box-shadow: inset 0 0 0 1px var(--tbr-ink); }
.tbr-form input[type="date"], .tbr-form input[type="text"], .tbr-form select { min-height: 40px; max-width: 100%; }
.tbr-pay { background: rgba(255, 255, 255, .6); border: 1px solid var(--tbr-line); border-radius: 8px; padding: .8em 1em; margin: 1em 0; }
.tbr-msg { margin: .6em 0 0; min-height: 1.2em; }
.tbr-switch { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 1.2em; }
.tbr-switch a { padding: .35em .8em; border-radius: 999px; border: 1px solid var(--tbr-line); text-decoration: none; font-size: .9em; }
.tbr-switch a.is-on { background: var(--tbr-ink); color: #fff; border-color: var(--tbr-ink); }
.tbr-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 1.2em 0 1.6em; }
.tbr-card { flex: 0 1 170px; width: 170px; max-width: 45%; margin: 0; text-align: center; }
.tbr-row-small .tbr-card { flex-basis: 120px; width: 120px; }
.tbr-card img { display: block; width: 100% !important; height: auto !important; border-radius: 10px; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); }
.tbr-card figcaption { display: flex; flex-direction: column; gap: 2px; margin-top: 8px; }
.tbr-card figcaption span { font-size: .75em; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }
.tbr-theme { font-style: italic; font-size: 1.15em; color: var(--tbr-gold); margin: 0 0 .6em; }
.tbr-lists { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1em; margin: 1em 0; }
.tbr-lists h4 { margin: 0 0 .3em; font-size: .85em; text-transform: uppercase; letter-spacing: .05em; color: var(--tbr-gold); }
.tbr-q { border-left: 3px solid var(--tbr-gold); padding-left: .8em; }
.tbr-cycle li { margin: 0 0 .6em; }
.tbr-affirm { border-left: 4px solid var(--tbr-gold); background: rgba(246, 243, 236, .8); padding: .8em 1em; font-style: italic; margin: 1.4em 0; }
.tbr-next { margin-top: 2em; padding: 1em; border: 1px solid var(--tbr-line); border-radius: 8px; }
.tbr-bar { height: 10px; background: var(--tbr-line); border-radius: 999px; overflow: hidden; }
.tbr-bar span { display: block; height: 100%; background: var(--tbr-ink); transition: width .4s; }
.tarot-br-upsell { margin: 2em 0 1em; padding: 1.2em 1.4em; border: 1px solid rgba(42, 26, 94, .2); border-radius: 10px; background: rgba(255, 255, 255, .7); }
.tarot-br-upsell h3 { margin: 0 0 .4em; }
.tarot-br-upsell ul { list-style: none; margin: .4em 0 1em; padding: 0; }
.tarot-br-upsell li { margin: .3em 0; }
@media (max-width: 600px) { .tbr-card { width: 42%; } }
