/**
 * Premium states for video_playlist. Brand derives entirely from the public --apb-rx-* token bridge.
 */
.apb-premium-summary{max-width:980px;margin:0 auto 18px}
.apb-premium-summary-inner{display:flex;align-items:center;gap:18px;padding:14px 16px;border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,16px);background:var(--apb-rx-surface);box-shadow:var(--apb-rx-shadow-1)}
.apb-premium-summary-copy{flex:1;min-width:0}
.apb-premium-summary-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block-end:7px}
.apb-premium-summary-label{font-size:13px;font-weight:750;color:var(--apb-rx-ink)}
.apb-premium-summary-count{font-size:12px;color:var(--apb-rx-muted);white-space:nowrap}
.apb-premium-progress{height:5px;border-radius:999px;overflow:hidden;background:var(--apb-rx-soft)}
.apb-premium-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--apb-rx-brand);transition:width var(--apb-rx-t,.28s) var(--apb-rx-ease)}
.apb-premium-continue{flex:0 0 auto;min-height:38px;padding:0 14px;border:0;border-radius:10px;background:var(--apb-rx-soft);color:var(--apb-rx-accent-text);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.apb-premium-continue:hover{filter:brightness(.98)}
.apb-premium-continue:focus-visible{outline:2px solid var(--apb-rx-brand);outline-offset:2px}

.apb-rx-player-stage>.apb-premium-gate{position:absolute;z-index:7;inset:0;display:grid;place-items:center;padding:22px;background:color-mix(in srgb,var(--apb-rx-ink,#111) 82%,transparent);color:var(--apb-rx-accent-contrast,#fff);text-align:center}
.apb-rx-player-stage>.apb-premium-gate[hidden]{display:none}
.apb-rx-player[data-premium-state="locked"] .apb-rx-player-stage{min-height:340px;aspect-ratio:auto}
.apb-rx-player[data-premium-state="locked"] .apb-rx-player-media{visibility:hidden}
.apb-premium-gate-card{width:min(420px,100%);padding:24px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:18px;background:color-mix(in srgb,var(--apb-rx-ink,#111) 92%,transparent);box-shadow:var(--apb-rx-shadow-2)}
.apb-premium-lock-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 12px;border-radius:50%;background:var(--apb-rx-brand);color:var(--apb-rx-accent-contrast,#fff)}
.apb-premium-lock-icon svg{width:19px;height:19px}
.apb-premium-gate-kicker{margin:0 0 5px;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb,var(--apb-rx-accent-contrast,#fff) 72%,transparent)}
.apb-premium-gate-card h2{margin:0;font-size:clamp(20px,3vw,26px);line-height:1.12;letter-spacing:-.025em}
.apb-premium-gate-copy{max-width:340px;margin:9px auto 0;color:color-mix(in srgb,var(--apb-rx-accent-contrast,#fff) 72%,transparent);font-size:13.5px;line-height:1.5}
.apb-premium-gate-actions{display:flex;justify-content:center;gap:8px;margin-block-start:18px}
.apb-premium-gate-actions button{min-height:40px;padding:0 15px;border-radius:10px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}
.apb-premium-upgrade{border:0;background:var(--apb-rx-brand);color:var(--apb-rx-accent-contrast,#fff)}
.apb-premium-preview{border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit}
.apb-premium-upgrade:hover,.apb-premium-preview:hover{filter:brightness(1.08)}
.apb-premium-gate-actions button:focus-visible,.apb-premium-login:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.apb-premium-login{display:inline-block;min-height:30px;margin-block-start:8px;padding:6px 4px;color:color-mix(in srgb,var(--apb-rx-accent-contrast,#fff) 78%,transparent);font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.apb-premium-trailer-badge{position:absolute;z-index:6;inset-block-start:12px;inset-inline-start:12px;padding:6px 9px;border-radius:999px;background:color-mix(in srgb,var(--apb-rx-ink,#111) 88%,transparent);color:var(--apb-rx-accent-contrast,#fff);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}

.apb-rx-vp-row{position:relative}
.apb-rx-vp-row[data-access="locked"]{padding-inline-end:46px}
.apb-premium-row-meta{display:flex;align-items:center;gap:6px;margin-block-start:3px}
.apb-premium-row-label{font-size:10.5px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;color:var(--apb-rx-muted)}
.apb-premium-row-lock{position:absolute;inset-inline-end:14px;inset-block-start:50%;display:grid;place-items:center;width:24px;height:24px;transform:translateY(-50%);border-radius:50%;background:var(--apb-rx-soft);color:var(--apb-rx-muted)}
.apb-premium-row-lock svg{width:13px;height:13px}
.apb-rx-vp-row[data-access="locked"].is-active .apb-premium-row-lock{background:var(--apb-rx-brand);color:var(--apb-rx-accent-contrast,#fff)}
.apb-rx-vp-row[data-video-complete] .apb-rx-vp-thumb::before{content:"✓";position:absolute;z-index:2;inset-block-start:4px;inset-inline-end:4px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--apb-rx-brand);color:var(--apb-rx-accent-contrast,#fff);font-size:11px;font-weight:900}

.apb-premium-companion{max-width:980px;margin:18px auto 0}
.apb-premium-companion-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);gap:14px}
.apb-premium-companion-inner[hidden],.apb-premium-companion-locked[hidden]{display:none}
.apb-premium-companion-locked{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,16px);background:var(--apb-rx-surface);box-shadow:var(--apb-rx-shadow-1)}
.apb-premium-companion-lock{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--apb-rx-soft);color:var(--apb-rx-accent-text)}
.apb-premium-companion-lock svg{width:17px;height:17px}
.apb-premium-companion-copy{flex:1;min-width:0}
.apb-premium-companion-copy h3{margin:0 0 3px;color:var(--apb-rx-ink);font-size:14px}
.apb-premium-companion-copy p{margin:0;color:var(--apb-rx-muted);font-size:12.5px;line-height:1.45}
.apb-premium-companion-unlock{flex:0 0 auto;min-height:38px;padding:0 14px;border:0;border-radius:10px;background:var(--apb-rx-brand);color:var(--apb-rx-accent-contrast,#fff);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.apb-premium-panel{border:1px solid var(--apb-rx-line);border-radius:var(--apb-rx-radius,16px);background:var(--apb-rx-surface);box-shadow:var(--apb-rx-shadow-1)}
.apb-premium-panel[hidden]{display:none}
.apb-premium-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border-block-end:1px solid var(--apb-rx-line)}
.apb-premium-panel-head h3{margin:0;font-size:14px;color:var(--apb-rx-ink)}
.apb-premium-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}
.apb-premium-chapter{min-width:0;padding:10px;border:0;border-radius:10px;background:var(--apb-rx-soft);color:var(--apb-rx-ink);text-align:start;font:inherit;cursor:pointer}
.apb-premium-chapter:hover{background:color-mix(in srgb,var(--apb-rx-brand) 8%,var(--apb-rx-soft))}
.apb-premium-chapter:focus-visible{outline:2px solid var(--apb-rx-brand);outline-offset:1px}
.apb-premium-chapter time{display:block;margin-block-end:3px;color:var(--apb-rx-accent-text);font-size:11px;font-weight:800}
.apb-premium-chapter span{display:block;overflow:hidden;color:var(--apb-rx-ink);font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.apb-premium-transcript{padding:14px 16px}
.apb-premium-transcript p{margin:0;color:var(--apb-rx-muted);font-size:13px;line-height:1.58;white-space:pre-line}
.apb-premium-transcript a{display:inline-block;margin-block-start:10px;color:var(--apb-rx-accent-text);font-size:12px;font-weight:750}

.apb-premium-dialog{width:min(480px,calc(100% - 32px));padding:0;border:0;border-radius:18px;background:var(--apb-rx-surface);color:var(--apb-rx-ink);box-shadow:var(--apb-rx-shadow-2)}
.apb-premium-dialog::backdrop{background:color-mix(in srgb,var(--apb-rx-ink,#111) 66%,transparent)}
.apb-premium-dialog-card{position:relative;padding:26px}
.apb-premium-dialog-close{position:absolute;inset-block-start:14px;inset-inline-end:14px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:9px;background:var(--apb-rx-soft);color:var(--apb-rx-muted);font:inherit;font-size:20px;cursor:pointer}
.apb-premium-dialog-kicker{margin:0 0 7px;color:var(--apb-rx-accent-text);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.apb-premium-dialog h2{max-width:360px;margin:0;font-size:25px;letter-spacing:-.025em}
.apb-premium-dialog-copy{margin:9px 0 18px;color:var(--apb-rx-muted);font-size:14px;line-height:1.55}
.apb-premium-plan{padding:16px;border:1px solid var(--apb-rx-line);border-radius:12px;background:var(--apb-rx-soft)}
.apb-premium-plan-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.apb-premium-plan-name{font-size:14px;font-weight:800}
.apb-premium-plan-price{font-size:18px;font-weight:800}
.apb-premium-plan-price small{font-size:12px;font-weight:600;color:var(--apb-rx-muted)}
.apb-premium-plan ul{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none;color:var(--apb-rx-muted);font-size:13px}
.apb-premium-plan li::before{content:"✓";margin-inline-end:7px;color:var(--apb-rx-accent-text);font-weight:900}
.apb-premium-checkout{display:grid;place-items:center;width:100%;min-height:44px;margin-block-start:14px;border:0;border-radius:10px;background:var(--apb-rx-brand);color:var(--apb-rx-accent-contrast,#fff);font:inherit;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer}
.apb-premium-dialog-note{margin:10px 0 0;color:var(--apb-rx-muted);font-size:11.5px;text-align:center}

@media(max-width:760px){
  .apb-premium-summary-inner{align-items:stretch;flex-direction:column}
  .apb-premium-continue{width:100%}
  .apb-premium-companion-inner{grid-template-columns:1fr}
  .apb-premium-companion-locked{align-items:stretch;flex-wrap:wrap}
  .apb-premium-companion-copy{min-width:calc(100% - 54px)}
  .apb-premium-companion-unlock{width:100%}
}
@media(max-width:560px){
  .apb-rx-player[data-premium-state="locked"] .apb-rx-player-stage{min-height:350px;aspect-ratio:auto}
  .apb-rx-player-stage>.apb-premium-gate{padding:12px}
  .apb-premium-gate-card{padding:18px 14px}
  .apb-premium-gate-actions{align-items:stretch;flex-direction:column}
  .apb-premium-gate-actions button{width:100%}
  .apb-premium-gate-copy{font-size:12.5px}
  .apb-premium-chapters{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .apb-premium-progress span{transition:none}
}
