/* Pricing Table [tarot_pricing_table] (3.31.0) */
.atpt {
    --atpt-accent: #6b3fa0;
    --atpt-accent-text: #ffffff;
    --atpt-border: rgba(0, 0, 0, 0.12);
    --atpt-stripe: rgba(107, 63, 160, 0.05);
    --atpt-muted: rgba(0, 0, 0, 0.6);
    margin: 1.5em 0;
    max-width: 100%;
}
.atpt-title { margin-bottom: 0.4em; }
.atpt-intro { margin-bottom: 1em; }

.atpt-decks {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5em;
    margin: 0 0 0.6em;
}
.atpt-decks-label { font-weight: 600; margin-right: 0.25em; }
.atpt .atpt-deck {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.45em 0.95em;
    border: 1px solid var(--atpt-accent);
    border-radius: 999px;
    background: transparent;
    color: var(--atpt-accent);
    font: inherit;
    font-size: 0.95em;
    line-height: 1.3;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s;
}
.atpt .atpt-deck:hover,
.atpt .atpt-deck:focus-visible { background: var(--atpt-stripe); }
.atpt .atpt-deck.is-active {
    background: var(--atpt-accent);
    color: var(--atpt-accent-text);
}
.atpt-badge {
    font-size: 0.7em;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.1em 0.5em;
    border-radius: 999px;
    background: rgba(201, 162, 39, 0.9);
    color: #1d1d1d;
}
.atpt-note { color: var(--atpt-muted); font-size: 0.92em; margin: 0 0 0.9em; }

.atpt-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.atpt-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 1.2em;
}
.atpt-table th,
.atpt-table td {
    padding: 0.6em 0.55em;
    border-bottom: 1px solid var(--atpt-border);
    text-align: left;
    vertical-align: middle;
}
.atpt-table thead th {
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom-width: 2px;
}
.atpt-table tbody tr:nth-child(even) { background: var(--atpt-stripe); }
.atpt-table .atpt-num { text-align: center; white-space: nowrap; padding-left: 0.45em; padding-right: 0.45em; }
.atpt-table tbody th { min-width: 8em; }
.atpt-cards { display: block; font-weight: 400; font-size: 0.82em; color: var(--atpt-muted); }
.atpt-table td.atpt-price { font-weight: 600; }
.atpt-go { text-align: right; white-space: nowrap; width: 1%; padding-left: 0.4em !important; }
.atpt .atpt-button {
    display: inline-block;
    padding: 0.35em 0.75em;
    border-radius: 6px;
    white-space: nowrap;
    background: var(--atpt-accent);
    color: var(--atpt-accent-text);
    text-decoration: none;
    font-size: 0.9em;
}
.atpt .atpt-button:hover,
.atpt .atpt-button:focus { opacity: 0.9; color: var(--atpt-accent-text); }

.atpt-subtitle { margin: 1.2em 0 0.3em; }
.atpt-small { color: var(--atpt-muted); font-size: 0.92em; margin: 0 0 0.5em; }
.atpt-list { list-style: none; margin: 0 0 1em; padding: 0; }
.atpt-list li {
    display: flex;
    justify-content: space-between;
    gap: 1em;
    padding: 0.5em 0;
    border-bottom: 1px dashed var(--atpt-border);
}
.atpt-list li > span:last-child { font-weight: 600; white-space: nowrap; }

.atpt .screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

/* Phones: each spread becomes a small card with labelled prices. */
@media (max-width: 600px) {
    .atpt-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
    .atpt-table, .atpt-table tbody, .atpt-table tr, .atpt-table th, .atpt-table td { display: block; width: 100%; box-sizing: border-box; }
    .atpt-table tr {
        border: 1px solid var(--atpt-border);
        border-radius: 8px;
        margin-bottom: 0.8em;
        padding: 0.3em 0;
    }
    .atpt-table tbody tr:nth-child(even) { background: transparent; }
    .atpt-table tbody th { font-size: 1.05em; border-bottom: 1px solid var(--atpt-border); }
    .atpt-cards { display: inline; margin-left: 0.4em; }
    .atpt-table td { display: flex; justify-content: space-between; border-bottom: 0; padding: 0.35em 0.8em; }
    .atpt-table td[data-label]::before { content: attr(data-label); font-weight: 400; color: var(--atpt-muted); }
    .atpt-table .atpt-num { text-align: right; }
    .atpt-go { justify-content: flex-end; padding-top: 0.5em !important; }
}

