.context-purchase{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;justify-content:center;align-items:center;min-height:42px;max-width:340px;padding:9px 16px;border:1px solid #8a65c4;border-radius:12px;background:linear-gradient(180deg,#6840b1,#302066);color:#fff!important;-webkit-text-fill-color:#fff;font:800 13px/1.25 Manrope,Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 3px 10px #30219f30}
.context-purchase::before{content:'';position:absolute;inset:-40% auto -40% -60%;width:40%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:skewX(-20deg);animation:context-purchase-sheen 5.5s ease-in-out infinite;pointer-events:none;z-index:-1}
@keyframes context-purchase-sheen{0%,35%{left:-60%}75%,100%{left:130%}}
.context-purchase:focus-visible{outline:3px solid #ae80de;outline-offset:3px}
.context-purchase:disabled,.navigation-screen .buy-button[aria-disabled=true]{cursor:not-allowed;opacity:.75}
.context-purchase:disabled::before{animation:none}
.navigation-controls:has(.context-purchase){display:grid;grid-template-columns:42px auto minmax(0,1fr) 42px}
.navigation-controls .context-purchase{justify-self:start}
.has-context-purchase>.context-purchase{position:absolute;left:64px;top:10px;z-index:150;max-width:calc(100% - 130px)}
.navigation-enabled #lightbox .has-context-purchase>.context-purchase{position:fixed;left:calc(5vw + 64px);top:calc(5dvh + 10px);max-width:calc(90vw - 130px)}
.has-context-purchase .accordion-panel-body,.has-context-purchase .faq-answer-scroll{padding-top:78px!important}
.has-context-purchase #lightboxBody{padding-top:68px}
.has-context-purchase#reviewImageViewer{padding-top:70px}
.lesson-context-controls{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;align-items:center;margin:0 0 16px;padding:8px;background:#faf7ff;border-radius:14px}
.lesson-context-controls .context-purchase{justify-self:start}
.lesson-context-page{overflow:hidden}
.lesson-context-page .lesson-shell{position:fixed;inset:5%;width:90%;height:90dvh;z-index:300;margin:0;max-width:none;padding:0;overflow:hidden;border-radius:20px;background:#faf7ff;box-shadow:0 14px 70px #25114650}
.lesson-context-page .lesson-frame{height:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;margin:0;padding:0 24px 24px;border-radius:20px}
.lesson-context-page .lesson-context-controls{margin:0 -24px 16px;padding:8px 12px;border-radius:0;border-bottom:1px solid #e1d7ee}
.lesson-context-back,.lesson-context-close{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#30219f;color:white!important;-webkit-text-fill-color:white;font:700 28px/1 Arial;text-decoration:none}
.lesson-context-bottom{display:block;width:min(280px,90%);margin:22px auto 0;padding:13px;border-radius:12px;background:#30219f;color:white!important;-webkit-text-fill-color:white;text-align:center;text-decoration:none;font-weight:800}
.video-offer-frame{position:relative}
.video-offer-layer{position:absolute;pointer-events:none}
.video-offer-hotspot{position:absolute;display:block;pointer-events:auto;background:transparent;border:0;border-radius:12px}
.video-offer-hotspot[hidden]{display:none!important;pointer-events:none}
.video-offer-hotspot:focus-visible{outline:2px solid white;outline-offset:-4px}
.video-offer-controls{display:flex;align-items:center;gap:6px;padding:8px;background:#211447;color:white;font:12px/1.2 Arial,sans-serif}
.video-offer-controls button,.video-offer-controls select{flex:none;min-width:32px;min-height:34px;border:1px solid #9273b6;border-radius:6px;background:#3f2868;color:white;font:inherit;cursor:pointer}
.video-offer-controls input{min-width:0;flex:1;accent-color:#bc99ef}
.video-offer-controls .video-time{white-space:nowrap;font-size:11px}
.video-offer-frame:fullscreen{width:100%;max-width:none;height:100%;border-radius:0;background:#000;display:flex;flex-direction:column;justify-content:center}
.video-offer-frame:fullscreen video{width:100%;height:calc(100% - 52px);object-fit:contain;min-height:0}
.video-offer-frame:fullscreen .video-offer-controls{flex:none;width:100%;min-height:52px}
.video-offer-frame.video-offer-expanded{position:fixed;inset:0;z-index:9999;width:100vw;max-width:none;height:100dvh;border-radius:0;background:#000;display:flex;flex-direction:column;justify-content:center}
.video-offer-expanded video{height:calc(100% - 86px);object-fit:contain}
@media(max-width:600px){
 .context-purchase{padding:8px 9px;font-size:12px;min-height:42px;max-width:100%}
 .navigation-controls:has(.context-purchase){grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;padding:7px 8px}
 .navigation-controls:has(.context-purchase) .navigation-screen-title{grid-row:2;grid-column:1/-1;font-size:13px}
 .navigation-controls:has(.context-purchase) .navigation-close-top{grid-row:1;grid-column:3}
 .navigation-controls:has(.context-purchase) .navigation-back,.navigation-controls:has(.context-purchase) .navigation-close-top{width:38px;height:38px}
 .navigation-controls .context-purchase{justify-self:stretch}
 .lesson-context-controls{grid-template-columns:34px minmax(0,1fr) 34px;gap:5px;padding:6px}
 .lesson-context-back,.lesson-context-close{width:34px;height:38px}
 .lesson-context-page .lesson-frame{padding:0 12px 18px}
 .lesson-context-page .lesson-context-controls{margin:0 -12px 14px;padding:7px}
 .video-offer-controls{flex-wrap:wrap;gap:4px;padding:6px}
 .video-offer-controls input{flex-basis:calc(100% - 55px)}
 .has-context-purchase>.context-purchase{left:58px;max-width:calc(100% - 116px);min-height:42px;font-size:12px}
 .navigation-enabled #lightbox .has-context-purchase>.context-purchase{left:calc(5vw + 58px);max-width:calc(90vw - 116px)}
 .has-context-purchase .accordion-panel-body,.has-context-purchase .faq-answer-scroll{padding-top:84px!important}
}
@media(prefers-reduced-motion:reduce){.context-purchase::before{animation:none}}
/* Prices keep the tariff typography and use a quiet interactive outline. */
.tariff-price-action{display:inline-block;max-width:100%;padding:5px 9px;margin-left:-10px;border:1px solid #8260b94d;border-radius:8px;background:transparent;color:inherit;-webkit-text-fill-color:currentColor;font:inherit;line-height:inherit;letter-spacing:inherit;text-shadow:inherit;text-align:left;cursor:pointer;transition:background .2s,box-shadow .2s,border-color .2s}
.tariff-price-action:hover,.tariff-price-action:focus-visible{border-color:#7144b6;background:#ffffff40;box-shadow:0 0 14px #8c61c529;outline:2px solid transparent;outline-offset:3px}
