/* Pricing Table Pro: frontend */
.ptw-pro { --ptw-accent: #5b4dff; }
.ptw-plan { position: relative; }
[hidden].ptw-plan__old-price { display: none !important; }

/* Billing toggle */
.ptw-billing-toggle { display: flex; justify-content: center; gap: 4px; margin: 0 auto 28px; padding: 4px; background: #eef0fa; border-radius: 999px; width: max-content; max-width: 100%; }
.ptw-billing-toggle__btn { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; padding: 10px 20px; border-radius: 999px; font: inherit; font-weight: 600; color: #3a4060; cursor: pointer; transition: background .15s, color .15s; }
.ptw-billing-toggle__btn:focus-visible { outline: 2px solid var(--ptw-accent); outline-offset: 2px; }
.ptw-billing-toggle__btn.is-active { background: var(--ptw-accent); color: #fff; }
.ptw-billing-toggle__badge { font-size: .75em; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #e5f7ec; color: #0b7a3b; }
.ptw-billing-toggle__btn.is-active .ptw-billing-toggle__badge { background: rgba(255, 255, 255, .25); color: #fff; }

/* Sale price + ribbon */
.ptw-plan__old-price { margin-right: .4em; font-size: .6em; opacity: .55; font-weight: 400; text-decoration: line-through; }
.ptw-plan__ribbon { position: absolute; top: 14px; right: 14px; z-index: 2; padding: 4px 12px; border-radius: 999px; color: #fff; font-size: 12px; font-weight: 700; line-height: 1.5; box-shadow: 0 2px 6px rgba(0, 0, 0, .18); }

/* Features: not included + tooltip */
.ptw-feature--excluded .ptw-plan__feature-text { text-decoration: line-through; opacity: .55; }
.ptw-feature--excluded .ptw-plan__feature-icon { opacity: .6; }
.ptw-tip { position: relative; display: inline-grid; place-items: center; width: 16px; height: 16px; margin-left: 6px; border-radius: 50%; background: #e5e8f3; color: #3a4060; font-size: 11px; font-weight: 700; line-height: 1; cursor: help; vertical-align: middle; }
.ptw-tip::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); width: max-content; max-width: 220px; padding: 6px 10px; border-radius: 6px; background: #1b1f3a; color: #fff; font-size: 12px; font-weight: 400; line-height: 1.4; text-align: left; white-space: normal; opacity: 0; pointer-events: none; transition: opacity .15s; z-index: 5; }
.ptw-tip:hover::after, .ptw-tip:focus::after { opacity: 1; }
.ptw-tip:focus-visible { outline: 2px solid var(--ptw-accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .ptw-billing-toggle__btn, .ptw-tip::after { transition: none; } }

/* ---- Batch 2: design options ---- */
.ptw-skin--radius .ptw-plan { border-radius: var(--ptw-skin-radius) !important; }
.ptw-skin--radius .ptw-plan__header { border-top-left-radius: var(--ptw-skin-radius); border-top-right-radius: var(--ptw-skin-radius); }
.ptw-skin--shadow-none .ptw-plan { box-shadow: none !important; }
.ptw-skin--shadow-soft .ptw-plan { box-shadow: 0 6px 20px rgba(27, 31, 58, .08) !important; }
.ptw-skin--shadow-strong .ptw-plan { box-shadow: 0 18px 44px rgba(27, 31, 58, .22) !important; }
.ptw-skin--hover .ptw-plan { transition: transform .2s, box-shadow .2s; }
.ptw-skin--hover .ptw-plan:hover { transform: translateY(-6px); }
.ptw-skin--font-system .ptw-plan { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
.ptw-skin--font-serif .ptw-plan { font-family: Georgia, "Times New Roman", Times, serif; }
.ptw-skin--font-mono .ptw-plan { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.ptw-skin--font-rounded .ptw-plan { font-family: ui-rounded, "Nunito", "Varela Round", "Segoe UI", system-ui, sans-serif; }
.ptw-skin--grad .ptw-plan__header { background: linear-gradient(var(--ptw-grad-angle, 135deg), var(--ptw-grad-a), var(--ptw-grad-b)) !important; }
.ptw-skin--dark { background: #0b0e22; padding: 24px; border-radius: 16px; }
.ptw-skin--dark .ptw-plan { background: #141830 !important; border-color: #2b3158 !important; color: #e8eaf6; }
.ptw-skin--dark .ptw-plan__features { background: #141830 !important; color: #e8eaf6 !important; }
.ptw-skin--dark .ptw-plan__price, .ptw-skin--dark .ptw-plan__amount, .ptw-skin--dark .ptw-plan__currency { color: #fff !important; }
.ptw-skin--dark .ptw-plan__subtitle { color: #aab0d4 !important; }
@media (prefers-reduced-motion: reduce) { .ptw-skin--hover .ptw-plan { transition: none; } .ptw-skin--hover .ptw-plan:hover { transform: none; } }

/* ---- Batch 2: countdown ---- */
.ptw-plan__countdown { display: block; text-align: center; font-size: 12.5px; font-weight: 700; line-height: 1.4; padding: 7px 10px; background: #fff4db; color: #8a5200; border-radius: 8px 8px 0 0; }
.ptw-plan__countdown-time { font-variant-numeric: tabular-nums; }
