
.ptl-library{max-width:900px;margin:0 auto}
.ptl-series{border:1px solid rgba(0,0,0,.12);border-radius:12px;margin:0 0 14px;overflow:hidden;background:#fff}
.ptl-series-toggle,.ptl-lesson-toggle{width:100%;border:0;background:#fff;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.ptl-series-toggle{padding:18px 20px;font-size:1.08rem;font-weight:700}
.ptl-series-toggle:hover,.ptl-lesson-toggle:hover{background:#f7f7f7}
.ptl-series-panel{padding:0 16px 16px}
.ptl-series-description{margin:0 0 12px;color:#5b5b5b}
.ptl-lesson{border-top:1px solid rgba(0,0,0,.08)}
.ptl-lesson-toggle{padding:15px 12px;font-size:1rem}
.ptl-duration{font-size:.9rem;color:#666;white-space:nowrap}
.ptl-lesson-panel{padding:0 12px 16px}
.ptl-player-wrap{position:relative;width:100%;padding-top:56.25%;background:#000;border-radius:10px;overflow:hidden}
.ptl-player{position:absolute;inset:0;width:100%;height:100%;border:0}
.ptl-chevron{font-size:1.3rem;transition:transform .2s ease}
.ptl-series-toggle[aria-expanded="true"] .ptl-chevron{transform:rotate(180deg)}
.ptl-access-box,.ptl-unavailable{padding:16px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fafafa}
.ptl-login-box{max-width:380px;margin:10vh auto;padding:24px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff}
.ptl-login-box label{display:block;margin-bottom:6px;font-weight:600}
.ptl-login-box input[type=text],.ptl-login-box input[type=password]{width:100%;box-sizing:border-box;padding:12px}
.ptl-login-box .login-submit input,.ptl-login-button{display:inline-block;width:100%;box-sizing:border-box;padding:12px 16px;border:0;border-radius:8px;background:#111;color:#fff;text-align:center;text-decoration:none;cursor:pointer}
@media(max-width:600px){.ptl-series-toggle{padding:16px}.ptl-series-panel{padding:0 10px 12px}.ptl-lesson-toggle{padding:14px 8px}.ptl-duration{font-size:.82rem}.ptl-login-box{margin:6vh 16px}}

.ptl-forgot-password{text-align:center;margin:14px 0 0}
.ptl-library-heading{margin:0 0 22px;text-align:center;font-size:clamp(1.6rem,4vw,2.3rem)}
.ptl-empty-state{padding:22px;text-align:center;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fafafa}

.ptl-lesson-meta{display:flex;flex-wrap:wrap;gap:12px 20px;margin:0 0 12px;color:#555;font-size:.92rem}
.ptl-lesson-description{margin:0 0 12px;line-height:1.55}
.ptl-scriptures{margin:0 0 14px;padding:12px;border-radius:8px;background:#f7f7f7;line-height:1.5}

.ptl-search-wrap{display:flex;gap:10px;align-items:center;margin:0 0 18px}
.ptl-search-input{flex:1;min-width:0;padding:12px 14px;border:1px solid rgba(0,0,0,.2);border-radius:10px;font-size:1rem}
.ptl-search-input:focus{outline:2px solid rgba(34,113,177,.2);border-color:#2271b1}
.ptl-search-clear{border:0;background:#f0f0f1;border-radius:8px;padding:10px 14px;cursor:pointer}
.ptl-search-empty{padding:14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fafafa}
.ptl-lesson[hidden],.ptl-series[hidden]{display:none!important}

.ptl-recent{margin:0 0 24px}
.ptl-recent h2{font-size:1.1rem;margin:0 0 12px}
.ptl-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ptl-recent-card{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff}
.ptl-recent-card span,.ptl-recent-card small{color:#666}
@media(max-width:700px){.ptl-recent-grid{grid-template-columns:1fr}}

body.ptl-portal-page .site-header,
body.ptl-portal-page .site-footer,
body.ptl-portal-page .entry-header,
body.ptl-portal-page .page-header,
body.ptl-portal-page nav,
body.ptl-library-page .site-header,
body.ptl-library-page .site-footer,
body.ptl-library-page .entry-header,
body.ptl-library-page .page-header,
body.ptl-library-page nav{display:none!important}

body.ptl-portal-page,
body.ptl-library-page{background:#f5f5f5}

body.ptl-portal-page .site,
body.ptl-library-page .site,
body.ptl-portal-page #page,
body.ptl-library-page #page{min-height:100vh}

body.ptl-portal-page .content-area,
body.ptl-library-page .content-area,
body.ptl-portal-page .site-main,
body.ptl-library-page .site-main,
body.ptl-portal-page .entry-content,
body.ptl-library-page .entry-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}

body.ptl-library-page .ptl-library{padding:32px 16px}
.ptl-admin-diagnostic{margin-top:14px;padding:14px;border:1px solid #dba617;border-radius:10px;background:#fff8e5;color:#5f4500}

/* Force readable colors regardless of Kadence or global theme palette. */
.ptl-library,
.ptl-library *,
.ptl-login-box,
.ptl-login-box *,
.ptl-access-box,
.ptl-unavailable,
.ptl-empty-state,
.ptl-admin-diagnostic {
    color: #1f2937;
}

.ptl-series,
.ptl-series-panel,
.ptl-lesson,
.ptl-lesson-panel,
.ptl-recent-card,
.ptl-login-box,
.ptl-access-box,
.ptl-unavailable,
.ptl-empty-state {
    background: #ffffff;
}

.ptl-series-title,
.ptl-lesson-title {
    color: #111827 !important;
}

.ptl-series-toggle,
.ptl-lesson-toggle {
    color: #111827 !important;
    background: #ffffff !important;
}

.ptl-series-toggle:hover,
.ptl-lesson-toggle:hover,
.ptl-series-toggle:focus,
.ptl-lesson-toggle:focus {
    color: #111827 !important;
    background: #f3f4f6 !important;
}

.ptl-series-description,
.ptl-duration,
.ptl-lesson-meta,
.ptl-recent-card span,
.ptl-recent-card small {
    color: #4b5563 !important;
}

.ptl-scriptures {
    color: #1f2937 !important;
    background: #f3f4f6 !important;
}

.ptl-chevron {
    color: #374151 !important;
}

.ptl-search-input {
    color: #111827 !important;
    background: #ffffff !important;
}

.ptl-search-input::placeholder {
    color: #6b7280 !important;
}

.ptl-search-clear {
    color: #111827 !important;
    background: #e5e7eb !important;
}

.ptl-admin-diagnostic a {
    color:#1d4ed8!important;
}
.ptl-login-box input[type="text"],
.ptl-login-box input[type="password"],
.ptl-login-box input[type="email"] {
    color: #111827 !important;
    background: #ffffff !important;
    border-color: #d1d5db !important;
}

.ptl-login-box .login-submit input,
.ptl-login-button {
    color: #ffffff !important;
    background: #111827 !important;
}

.ptl-lesson-row{display:flex;align-items:stretch;border-top:1px solid rgba(0,0,0,.08)}
.ptl-lesson-row .ptl-lesson-toggle{border-top:0;flex:1}
.ptl-favorite-toggle{width:52px;border:0;border-left:1px solid rgba(0,0,0,.08);background:#fff;color:#6b7280!important;font-size:1.35rem;cursor:pointer}
.ptl-favorite-toggle:hover,.ptl-favorite-toggle:focus{background:#f3f4f6!important;color:#111827!important}
.ptl-favorite-toggle[aria-pressed="true"]{color:#d97706!important}
.ptl-personal-section{margin:0 0 24px}
.ptl-personal-section h2{font-size:1.1rem;margin:0 0 12px}
.ptl-personal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ptl-personal-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-align:left;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#fff;color:#111827!important;cursor:pointer}
.ptl-personal-item:hover,.ptl-personal-item:focus{background:#f3f4f6}
.ptl-personal-item span{color:#6b7280!important;font-size:.9rem}
@media(max-width:650px){.ptl-personal-list{grid-template-columns:1fr}.ptl-favorite-toggle{width:46px}}

.ptl-continue-item small{color:#4b5563!important;font-size:.85rem}

/* Beta 11 visual and mobile polish */
body.ptl-library-page{background:#eef1f4!important}
.ptl-library{max-width:980px!important;padding:28px 18px 48px!important}
.ptl-member-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 22px;padding:0 2px}
.ptl-member-kicker{display:block;margin-bottom:4px;color:#6b7280!important;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ptl-member-title{margin:0!important;color:#111827!important;font-size:clamp(1.75rem,4vw,2.4rem)!important;line-height:1.1!important}
.ptl-member-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.ptl-member-name{color:#374151!important;font-size:.92rem}
.ptl-logout-link{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#111827!important;text-decoration:none;font-weight:600}
.ptl-logout-link:hover,.ptl-logout-link:focus{background:#f3f4f6}
.ptl-search-wrap{position:sticky;top:0;z-index:4;padding:10px 0 14px;background:linear-gradient(#eef1f4 78%,rgba(238,241,244,0))}
.ptl-search-input{min-height:48px;border-radius:12px!important;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ptl-search-clear{min-height:44px}
.ptl-personal-section,.ptl-recent{margin-bottom:26px}
.ptl-personal-section h2,.ptl-recent h2{font-size:1rem!important;letter-spacing:.01em}
.ptl-personal-item,.ptl-recent-card{min-height:84px;justify-content:center;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ptl-series{border:1px solid #d9dee5!important;border-radius:14px!important;box-shadow:0 2px 6px rgba(15,23,42,.05)}
.ptl-series-toggle{min-height:64px;padding:18px 20px!important}
.ptl-series-title{font-size:1.04rem}
.ptl-series-panel{padding:0 16px 16px!important}
.ptl-lesson-row{min-height:58px}
.ptl-lesson-toggle{min-height:58px;padding:14px 12px!important}
.ptl-lesson-title{font-weight:600}
.ptl-favorite-toggle{min-width:52px;min-height:58px}
.ptl-lesson-panel{padding:0 12px 18px!important}
.ptl-player-wrap{border-radius:12px!important;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.ptl-empty-state,.ptl-access-box{padding:20px!important;text-align:center}
.ptl-login-box{max-width:400px!important;margin:12vh auto!important;padding:28px!important;box-shadow:0 8px 28px rgba(15,23,42,.12)}
.ptl-login-box .login-submit input,.ptl-login-button{min-height:48px;font-weight:700}
.ptl-login-box input[type="text"],.ptl-login-box input[type="password"],.ptl-login-box input[type="email"]{min-height:46px;border-radius:9px}
@media(max-width:700px){
  .ptl-library{padding:20px 12px 36px!important}
  .ptl-member-header{align-items:flex-start}
  .ptl-member-actions{flex-direction:column;align-items:flex-end;gap:6px}
  .ptl-member-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ptl-search-wrap{padding-top:6px}
  .ptl-series-toggle{padding:16px!important}
}
@media(max-width:480px){
  .ptl-member-header{display:block}
  .ptl-member-actions{margin-top:12px;flex-direction:row;align-items:center;justify-content:space-between}
  .ptl-member-name{max-width:58%}
  .ptl-search-wrap{display:grid;grid-template-columns:1fr}
  .ptl-search-clear{width:100%}
  .ptl-series-panel{padding:0 8px 10px!important}
  .ptl-lesson-toggle{padding:13px 8px!important}
  .ptl-lesson-row{align-items:stretch}
}

/* Hide theme-generated Library links from logged-out visitors. */
body.ptl-logged-out a[href$="/library/"],
body.ptl-logged-out a[href*="/library/?"],
body.ptl-logged-out a[href$="/library"] {
    display: none !important;
}

/* Beta 13: keep Kadence navigation for members, hide the entire header/nav shell when logged out. */
body.ptl-logged-out #masthead,
body.ptl-logged-out .site-header,
body.ptl-logged-out .kadence-header,
body.ptl-logged-out .site-header-wrap,
body.ptl-logged-out .site-main-header-wrap,
body.ptl-logged-out .site-top-header-wrap,
body.ptl-logged-out .site-bottom-header-wrap,
body.ptl-logged-out .main-navigation,
body.ptl-logged-out .primary-menu-container,
body.ptl-logged-out .mobile-navigation,
body.ptl-logged-out .mobile-toggle-open-container,
body.ptl-logged-out .site-header-item,
body.ptl-logged-out .header-navigation {
    display: none !important;
}

/* Remove any space Kadence reserves for the hidden header. */
body.ptl-logged-out #page,
body.ptl-logged-out .site {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Logged-in members retain Kadence header/navigation normally. */
body.logged-in #masthead,
body.logged-in .site-header,
body.logged-in .main-navigation,
body.logged-in .primary-menu-container {
    display: revert;
}

/* Beta 14 — Bible Truth Foundry visual identity */
:root{
  --btf-ink:#18212a;
  --btf-ink-soft:#35424d;
  --btf-ivory:#f6f1e7;
  --btf-paper:#fffdf8;
  --btf-stone:#e4ddd0;
  --btf-bronze:#9a7442;
  --btf-bronze-dark:#75562f;
  --btf-muted:#766f65;
}

body.ptl-library-page,
body:has(.ptl-library),
body:has(.ptl-login-box){
  background:
    radial-gradient(circle at 12% 8%,rgba(154,116,66,.08),transparent 28rem),
    linear-gradient(180deg,#f8f4ec 0%,#f1eadf 100%)!important;
  color:var(--btf-ink)!important;
}

.ptl-library{
  max-width:1040px!important;
  padding:34px 20px 60px!important;
}

.ptl-member-header{
  padding:22px 24px!important;
  margin-bottom:22px!important;
  border:1px solid rgba(117,86,47,.18);
  border-radius:18px;
  background:rgba(255,253,248,.86);
  box-shadow:0 12px 35px rgba(39,31,22,.07);
  backdrop-filter:blur(10px);
}

.ptl-brand-block{display:flex;align-items:center;gap:14px}
.ptl-brand-mark{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  flex:0 0 52px;
  border:1px solid rgba(154,116,66,.45);
  border-radius:50%;
  background:var(--btf-ink);
  color:#f4e7cf!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.08em;
}
.ptl-member-kicker{
  color:var(--btf-bronze-dark)!important;
  font-size:.72rem!important;
  letter-spacing:.16em!important;
}
.ptl-member-title{
  color:var(--btf-ink)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:500!important;
  letter-spacing:-.02em;
}
.ptl-member-name{color:var(--btf-muted)!important}
.ptl-logout-link{
  border-color:var(--btf-stone)!important;
  background:var(--btf-paper)!important;
  color:var(--btf-ink)!important;
}
.ptl-logout-link:hover,.ptl-logout-link:focus{
  border-color:rgba(154,116,66,.5)!important;
  background:#f8f0e2!important;
}

.ptl-search-wrap{
  background:linear-gradient(#f5efe5 72%,rgba(245,239,229,0))!important;
}
.ptl-search-input{
  border:1px solid var(--btf-stone)!important;
  background:var(--btf-paper)!important;
  color:var(--btf-ink)!important;
  box-shadow:0 5px 18px rgba(39,31,22,.05)!important;
}
.ptl-search-input:focus{
  border-color:var(--btf-bronze)!important;
  box-shadow:0 0 0 3px rgba(154,116,66,.12)!important;
  outline:none!important;
}

.ptl-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin:30px 2px 13px;
  padding-bottom:9px;
  border-bottom:1px solid rgba(117,86,47,.18);
}
.ptl-section-heading span{
  color:var(--btf-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
}
.ptl-section-heading small{
  color:var(--btf-muted)!important;
  font-size:.82rem;
}

.ptl-personal-section h2,.ptl-recent h2{
  color:var(--btf-bronze-dark)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.05rem!important;
}
.ptl-personal-item,.ptl-recent-card{
  border:1px solid rgba(117,86,47,.15)!important;
  background:var(--btf-paper)!important;
  box-shadow:0 6px 20px rgba(39,31,22,.05)!important;
}
.ptl-personal-item:hover,.ptl-personal-item:focus{
  border-color:rgba(154,116,66,.42)!important;
  background:#fbf5e9!important;
}

.ptl-series{
  overflow:hidden;
  margin-bottom:14px!important;
  border:1px solid rgba(117,86,47,.18)!important;
  border-radius:16px!important;
  background:var(--btf-paper)!important;
  box-shadow:0 7px 22px rgba(39,31,22,.055)!important;
}
.ptl-series-toggle{
  background:
    linear-gradient(90deg,rgba(154,116,66,.09),rgba(255,253,248,.45) 38%,rgba(255,253,248,.92))!important;
  color:var(--btf-ink)!important;
}
.ptl-series-toggle:hover,.ptl-series-toggle:focus{
  background:linear-gradient(90deg,rgba(154,116,66,.15),#fffaf0)!important;
}
.ptl-series-heading{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
}
.ptl-series-title{
  color:var(--btf-ink)!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.12rem!important;
  font-weight:600!important;
}
.ptl-series-count{
  color:var(--btf-bronze-dark)!important;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ptl-series-panel{background:rgba(255,253,248,.78)!important}

.ptl-lesson-row{
  border-top-color:rgba(117,86,47,.12)!important;
}
.ptl-lesson-toggle{
  background:transparent!important;
  color:var(--btf-ink)!important;
}
.ptl-lesson-toggle:hover,.ptl-lesson-toggle:focus{
  background:#faf4e9!important;
}
.ptl-lesson-title{color:var(--btf-ink)!important}
.ptl-duration,.ptl-lesson-meta{color:var(--btf-muted)!important}
.ptl-favorite-toggle{
  border-left-color:rgba(117,86,47,.12)!important;
  background:transparent!important;
  color:var(--btf-bronze)!important;
}
.ptl-favorite-toggle:hover,.ptl-favorite-toggle:focus{
  background:#f8f0e2!important;
  color:var(--btf-bronze-dark)!important;
}
.ptl-favorite-toggle[aria-pressed="true"]{color:var(--btf-bronze-dark)!important}

.ptl-scriptures{
  border-left:3px solid rgba(154,116,66,.55);
  border-radius:6px;
  background:#f7f0e5!important;
  color:var(--btf-ink-soft)!important;
}
.ptl-player-wrap{
  overflow:hidden;
  border:1px solid rgba(117,86,47,.18);
  background:#101820!important;
  box-shadow:0 10px 26px rgba(24,33,42,.15)!important;
}

.ptl-login-box{
  position:relative;
  overflow:hidden;
  max-width:420px!important;
  margin:12vh auto!important;
  padding:42px 34px 34px!important;
  border:1px solid rgba(117,86,47,.2)!important;
  border-radius:20px!important;
  background:rgba(255,253,248,.94)!important;
  box-shadow:0 22px 60px rgba(39,31,22,.13)!important;
}
.ptl-login-box:before{
  content:"BTF";
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  margin:0 auto 18px;
  border:1px solid rgba(154,116,66,.5);
  border-radius:50%;
  background:var(--btf-ink);
  color:#f4e7cf;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.1em;
}
.ptl-login-box:after{
  content:"BIBLE TRUTH FOUNDRY  ·  PRIVATE ACCESS";
  display:block;
  position:absolute;
  top:116px;
  left:0;
  right:0;
  color:var(--btf-bronze-dark);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.13em;
  text-align:center;
}
.ptl-login-box form{margin-top:38px}
.ptl-login-box label{color:var(--btf-ink-soft)!important;font-weight:600}
.ptl-login-box input[type="text"],
.ptl-login-box input[type="password"],
.ptl-login-box input[type="email"]{
  border:1px solid var(--btf-stone)!important;
  background:#fffefa!important;
  color:var(--btf-ink)!important;
}
.ptl-login-box .login-submit input,.ptl-login-button{
  border-radius:10px!important;
  background:var(--btf-ink)!important;
  color:#fff8e9!important;
  letter-spacing:.06em;
}
.ptl-login-box .login-submit input:hover,.ptl-login-button:hover{
  background:#263746!important;
}

@media(max-width:700px){
  .ptl-member-header{padding:18px!important}
  .ptl-brand-mark{width:46px;height:46px;flex-basis:46px}
}
@media(max-width:480px){
  .ptl-library{padding:16px 10px 38px!important}
  .ptl-member-header{border-radius:14px}
  .ptl-brand-block{align-items:flex-start}
  .ptl-member-title{font-size:1.65rem!important}
  .ptl-section-heading{align-items:center}
  .ptl-section-heading small{display:none}
  .ptl-login-box{margin:8vh 12px!important;padding:36px 22px 28px!important}
}

/* Beta 15 cache-bust marker */
.ptl-member-header{outline:0 solid transparent}

/* Beta 16 — Cross mark + complete beige theme integration */

/* Replace BTF letters with a simple cross inside the circular mark. */
.ptl-brand-mark{
  position:relative!important;
  font-size:0!important;
  overflow:hidden;
}
.ptl-brand-cross::before,
.ptl-brand-cross::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:block;
  border-radius:1px;
  background:#f4e7cf;
}
.ptl-brand-cross::before{
  width:4px;
  height:26px;
}
.ptl-brand-cross::after{
  width:18px;
  height:4px;
  top:44%;
}

/* Login card: replace the BTF letters with a cross too. */
.ptl-login-box:before{
  content:""!important;
  position:relative;
  display:block!important;
  width:62px!important;
  height:62px!important;
  margin:0 auto 18px!important;
  border:1px solid rgba(154,116,66,.5)!important;
  border-radius:50%!important;
  background:var(--btf-ink)!important;
}
.ptl-login-box:after{
  content:"BIBLE TRUTH FOUNDRY  ·  PRIVATE ACCESS"!important;
}
.ptl-login-box form:before,
.ptl-login-box form:after{
  content:"";
  position:absolute;
  z-index:2;
  background:#f4e7cf;
  pointer-events:none;
}
/* Cross positioned over login circle */
.ptl-login-box{
  --ptl-cross-top:31px;
}
.ptl-login-box form:before{
  width:4px;
  height:26px;
  left:50%;
  top:50px;
  transform:translateX(-50%);
}
.ptl-login-box form:after{
  width:18px;
  height:4px;
  left:50%;
  top:60px;
  transform:translateX(-50%);
}

/* Remove Kadence/WordPress white-gray page title/header shell on Library and Login pages. */
body.ptl-library-page .entry-header,
body.ptl-library-page .page-header,
body.ptl-library-page .entry-title,
body.ptl-library-page .page-title,
body.ptl-library-page .content-title-style-above,
body.ptl-library-page .content-title-style-hide,
body.ptl-library-page .kadence-page-title,
body.ptl-library-page .kadence-breadcrumbs,
body.ptl-portal-page .entry-header,
body.ptl-portal-page .page-header,
body.ptl-portal-page .entry-title,
body.ptl-portal-page .page-title,
body.ptl-portal-page .content-title-style-above,
body.ptl-portal-page .content-title-style-hide,
body.ptl-portal-page .kadence-page-title,
body.ptl-portal-page .kadence-breadcrumbs{
  display:none!important;
}

/* Force theme wrapper/background to match the library palette. */
body.ptl-library-page,
body.ptl-portal-page,
body.ptl-library-page #page,
body.ptl-portal-page #page,
body.ptl-library-page .site,
body.ptl-portal-page .site,
body.ptl-library-page .site-main,
body.ptl-portal-page .site-main,
body.ptl-library-page .content-area,
body.ptl-portal-page .content-area,
body.ptl-library-page .content-wrap,
body.ptl-portal-page .content-wrap,
body.ptl-library-page .entry,
body.ptl-portal-page .entry,
body.ptl-library-page article,
body.ptl-portal-page article,
body.ptl-library-page .entry-content,
body.ptl-portal-page .entry-content{
  background:transparent!important;
}

/* If Kadence keeps an outer title/banner region, blend it into beige instead of white/gray. */
body.ptl-library-page .site-content,
body.ptl-portal-page .site-content,
body.ptl-library-page #primary,
body.ptl-portal-page #primary,
body.ptl-library-page .content-bg,
body.ptl-portal-page .content-bg{
  background:
    radial-gradient(circle at 12% 8%,rgba(154,116,66,.08),transparent 28rem),
    linear-gradient(180deg,#f8f4ec 0%,#f1eadf 100%)!important;
}

/* Remove extra top whitespace left behind by hidden theme title. */
body.ptl-library-page .site-content,
body.ptl-portal-page .site-content{
  padding-top:0!important;
}
body.ptl-library-page .content-area,
body.ptl-portal-page .content-area{
  margin-top:0!important;
}

/* Ensure the app header itself blends with the warm theme. */
.ptl-member-header{
  background:rgba(255,253,248,.9)!important;
}

/* Beta 17 — remove Kadence shell and move account controls to a true site header */
body.ptl-library-page #masthead,
body.ptl-library-page .site-header,
body.ptl-library-page .site-header-wrap,
body.ptl-library-page .site-main-header-wrap,
body.ptl-library-page .site-top-header-wrap,
body.ptl-library-page .site-bottom-header-wrap,
body.ptl-library-page .main-navigation,
body.ptl-library-page .header-navigation,
body.ptl-library-page .mobile-navigation,
body.ptl-library-page .mobile-toggle-open-container,
body.ptl-library-page .entry-hero,
body.ptl-library-page .entry-hero-container-inner,
body.ptl-library-page .hero-container,
body.ptl-library-page .page-hero-section,
body.ptl-library-page .content-title-style-above,
body.ptl-library-page .entry-header,
body.ptl-library-page .page-header,
body.ptl-library-page .entry-title,
body.ptl-library-page .page-title,
body.ptl-library-page .kadence-page-title,
body.ptl-library-page .wp-block-post-title{
    display:none!important;
}

body.ptl-library-page .site-content,
body.ptl-library-page #primary,
body.ptl-library-page .content-area,
body.ptl-library-page .site-main,
body.ptl-library-page .content-wrap,
body.ptl-library-page article,
body.ptl-library-page .entry-content{
    margin-top:0!important;
    padding-top:0!important;
    background:transparent!important;
}

body.ptl-library-page .site-content,
body.ptl-library-page #primary{
    background:
      radial-gradient(circle at 12% 8%,rgba(154,116,66,.08),transparent 28rem),
      linear-gradient(180deg,#f8f4ec 0%,#f1eadf 100%)!important;
}

.ptl-sitebar{
    width:100%;
    margin:0 0 26px;
    background:#18212a;
    border-bottom:1px solid rgba(154,116,66,.35);
    box-shadow:0 4px 18px rgba(24,33,42,.13);
}
.ptl-sitebar-inner{
    max-width:1040px;
    min-height:68px;
    margin:0 auto;
    padding:10px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.ptl-sitebar-brand{
    display:flex;
    align-items:center;
    gap:11px;
    color:#f7eedf!important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.08rem;
    white-space:nowrap;
}
.ptl-sitebar-cross{
    position:relative;
    display:inline-block;
    width:34px;
    height:34px;
    flex:0 0 34px;
    border:1px solid rgba(244,231,207,.55);
    border-radius:50%;
}
.ptl-sitebar-cross:before,
.ptl-sitebar-cross:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border-radius:1px;
    background:#f4e7cf;
}
.ptl-sitebar-cross:before{width:3px;height:18px}
.ptl-sitebar-cross:after{width:13px;height:3px;top:44%}

.ptl-sitebar-account{display:flex;align-items:center;gap:12px}
.ptl-sitebar .ptl-member-name{color:#d8d1c5!important;font-size:.88rem}
.ptl-sitebar .ptl-logout-link{
    min-height:38px;
    padding:7px 13px;
    border:1px solid rgba(244,231,207,.34)!important;
    border-radius:9px;
    background:rgba(255,255,255,.04)!important;
    color:#fff7e8!important;
}
.ptl-sitebar .ptl-logout-link:hover,
.ptl-sitebar .ptl-logout-link:focus{
    background:rgba(154,116,66,.22)!important;
    border-color:rgba(244,231,207,.55)!important;
}

.ptl-member-header-simple{
    margin:0 0 24px!important;
    padding:4px 2px 8px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
}
.ptl-member-header-simple .ptl-member-title{
    font-size:clamp(2rem,4vw,2.8rem)!important;
}
.ptl-member-header-simple .ptl-member-kicker{
    margin-bottom:7px!important;
}
.ptl-library{padding-top:0!important}
.ptl-member-header .ptl-member-actions{display:none!important}

@media(max-width:700px){
  .ptl-sitebar-inner{min-height:62px;padding:9px 14px}
  .ptl-sitebar-brand{font-size:.98rem}
  .ptl-sitebar .ptl-member-name{display:none}
}

/* Beta 18 — plugin-owned page shell. Kadence is completely bypassed on Library/Login. */
html,body.ptl-app-shell{
  margin:0!important;
  padding:0!important;
  min-height:100%!important;
}

body.ptl-app-shell{
  background:
    radial-gradient(circle at 12% 8%,rgba(154,116,66,.08),transparent 28rem),
    linear-gradient(180deg,#f8f4ec 0%,#f1eadf 100%)!important;
  color:#18212a!important;
}

body.ptl-app-shell #ptl-app-main{
  min-height:100vh;
  width:100%;
  margin:0;
  padding:0;
}

body.ptl-library-shell .ptl-library{
  max-width:1040px!important;
  margin:0 auto!important;
  padding:0 20px 60px!important;
}

/* Put our top bar flush at the true top of the application page. */
body.ptl-library-shell .ptl-sitebar{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:0!important;
  margin-bottom:30px!important;
}

/* No duplicate/legacy title regions can exist inside the app shell. */
body.ptl-app-shell .entry-header,
body.ptl-app-shell .page-header,
body.ptl-app-shell .entry-title,
body.ptl-app-shell .page-title,
body.ptl-app-shell .entry-hero,
body.ptl-app-shell .hero-container,
body.ptl-app-shell .site-header,
body.ptl-app-shell #masthead,
body.ptl-app-shell .site-footer{
  display:none!important;
}

body.ptl-login-shell{
  display:flex;
  align-items:flex-start;
  justify-content:center;
}

body.ptl-login-shell #ptl-app-main{
  width:100%;
}

@media(max-width:700px){
  body.ptl-library-shell .ptl-library{
    padding:0 12px 40px!important;
  }
}

/* Beta 21 — remove redundant page title and duplicate library heading */

/* Keep the WordPress page named Library for routing, but never display its theme title. */
body.ptl-library-page .entry-title,
body.ptl-library-page .page-title,
body.ptl-library-page .wp-block-post-title,
body.ptl-library-page .entry-header .entry-title,
body.ptl-library-page .page-header .page-title,
body.ptl-library-page .entry-hero h1,
body.ptl-library-page .hero-container h1,
body.ptl-library-page .kadence-page-title h1 {
    display:none!important;
}

/* Collapse wrappers that exist only to hold the hidden page title. */
body.ptl-library-page .entry-header:has(.entry-title),
body.ptl-library-page .page-header:has(.page-title),
body.ptl-library-page .entry-hero:has(h1),
body.ptl-library-page .hero-container:has(h1),
body.ptl-library-page .kadence-page-title:has(h1) {
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
}

/* Browse label replaces the redundant second Teaching Library heading. */
.ptl-section-heading-browse {
    justify-content:flex-start!important;
}
.ptl-section-heading-browse span {
    font-family:inherit!important;
    font-size:.8rem!important;
    font-weight:700!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
    color:var(--btf-bronze-dark,#75562f)!important;
}

/* Beta 22 — login alignment + stubborn Kadence page title suppression */

/* Stop the login branding line from colliding with "You are already logged in." */
.ptl-login-box{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  padding-top:34px!important;
}
.ptl-login-box:before{
  position:relative!important;
  inset:auto!important;
  margin:0 auto 18px!important;
}
.ptl-login-box:after{
  position:static!important;
  display:block!important;
  order:1!important;
  margin:0 0 26px!important;
  text-align:center!important;
  line-height:1.35!important;
}
.ptl-login-box > p,
.ptl-login-box > form{
  position:relative!important;
  z-index:2!important;
  order:2!important;
  margin-top:0!important;
}
.ptl-login-box form:before,
.ptl-login-box form:after{
  display:none!important;
}

/* Draw the cross inside the login circle without using form pseudo-elements. */
.ptl-login-box:before{
  background:
    linear-gradient(#f4e7cf,#f4e7cf) center 47%/18px 4px no-repeat,
    linear-gradient(#f4e7cf,#f4e7cf) center/4px 26px no-repeat,
    var(--btf-ink,#18212a)!important;
}

/* More aggressive Kadence/WordPress page-title hiding, while preserving plugin headings. */
body:has(.ptl-library) .entry-title,
body:has(.ptl-library) .page-title,
body:has(.ptl-library) .wp-block-post-title,
body:has(.ptl-library) .entry-header,
body:has(.ptl-library) .page-header,
body:has(.ptl-library) .entry-hero,
body:has(.ptl-library) .entry-hero-container-inner,
body:has(.ptl-library) .hero-container,
body:has(.ptl-library) .page-hero-section,
body:has(.ptl-library) .kadence-page-title,
body:has(.ptl-library) .content-title-style-above,
body:has(.ptl-library) .content-title-style-normal{
  display:none!important;
}

/* Collapse blank spacing left by the theme title wrapper. */
body:has(.ptl-library) .site-content,
body:has(.ptl-library) #primary,
body:has(.ptl-library) .content-area,
body:has(.ptl-library) .site-main,
body:has(.ptl-library) .content-wrap,
body:has(.ptl-library) article,
body:has(.ptl-library) .entry-content{
  margin-top:0!important;
  padding-top:0!important;
}

/* Beta 23 — simplify the top of the library */
.ptl-member-header,
.ptl-member-header-simple,
.ptl-member-kicker,
.ptl-member-title{
  display:none!important;
}

/* Pull content upward now that the redundant heading is gone. */
.ptl-library{
  padding-top:12px!important;
}
.ptl-search-wrap{
  margin-top:0!important;
}
.ptl-section-heading-browse{
  margin-top:18px!important;
}

/* Beta 24 — login copy cleanup */
.ptl-login-box:after{
  content:"BIBLE TRUTH FOUNDRY"!important;
  position:static!important;
  display:block!important;
  margin:0 0 24px!important;
  color:var(--btf-bronze-dark,#75562f)!important;
  font-size:.72rem!important;
  font-weight:700!important;
  letter-spacing:.14em!important;
  line-height:1.35!important;
  text-align:center!important;
}

/* Visual cues inside a lesson */
.ptl-visual-cues{
  margin:0 0 16px;
  padding:16px 16px 14px;
  border:1px solid rgba(154,116,66,.28);
  border-left:4px solid var(--btf-bronze,#9a7442);
  border-radius:10px;
  background:#fff8eb;
  box-shadow:0 3px 10px rgba(39,31,22,.04);
}
.ptl-visual-cues-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
  color:var(--btf-ink,#18212a)!important;
  font-weight:700;
}
.ptl-eye-icon{
  color:var(--btf-bronze-dark,#75562f)!important;
  font-size:.9rem;
}
.ptl-visual-cues-subtitle{
  margin-bottom:10px;
  color:var(--btf-muted,#766f65)!important;
  font-size:.86rem;
}
.ptl-visual-cues ul{
  list-style:none;
  margin:0!important;
  padding:0!important;
}
.ptl-visual-cues li{
  display:grid;
  grid-template-columns:minmax(72px,auto) 1fr;
  gap:10px;
  align-items:start;
  padding:8px 0;
  border-top:1px solid rgba(154,116,66,.14);
}
.ptl-visual-cues li:first-child{border-top:0}
.ptl-cue-time{
  display:inline-block;
  width:max-content;
  padding:3px 7px;
  border-radius:6px;
  background:#18212a;
  color:#fff8e9!important;
  font-size:.78rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.ptl-cue-note{
  color:var(--btf-ink-soft,#35424d)!important;
  line-height:1.45;
}
@media(max-width:520px){
  .ptl-visual-cues li{grid-template-columns:1fr;gap:5px}
}


/* Beta 26 — visual cue and resume UI */
.ptl-visual-cues{
  display:block!important;
  margin:0 0 16px!important;
  padding:16px!important;
  border:1px solid rgba(154,116,66,.32)!important;
  border-left:5px solid var(--btf-bronze,#9a7442)!important;
  border-radius:10px!important;
  background:#fff8e8!important;
  box-shadow:0 5px 16px rgba(39,31,22,.05)!important;
}
.ptl-visual-cues-title{
  display:flex!important;
  align-items:center;
  gap:8px;
  margin:0 0 4px;
  color:var(--btf-ink,#18212a)!important;
  font-weight:800!important;
}
.ptl-visual-cues-subtitle{
  margin:0 0 10px;
  color:var(--btf-muted,#766f65)!important;
  font-size:.88rem!important;
}
.ptl-visual-cues ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.ptl-visual-cues li{
  display:grid!important;
  grid-template-columns:minmax(74px,auto) 1fr!important;
  gap:10px!important;
  align-items:start!important;
  padding:8px 0!important;
  border-top:1px solid rgba(154,116,66,.15)!important;
}
.ptl-visual-cues li:first-child{border-top:0!important}
.ptl-cue-time{
  display:inline-block!important;
  width:max-content!important;
  padding:4px 8px!important;
  border-radius:6px!important;
  background:#18212a!important;
  color:#fff8e9!important;
  font-size:.78rem!important;
  font-weight:800!important;
  font-variant-numeric:tabular-nums!important;
}
.ptl-cue-note{
  color:var(--btf-ink-soft,#35424d)!important;
  line-height:1.45!important;
}

.ptl-resume-prompt{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid rgba(24,33,42,.16);
  border-radius:10px;
  background:#f7f2e9;
}
.ptl-resume-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.ptl-resume-copy strong{color:#18212a!important}
.ptl-resume-copy span{color:#6f685f!important;font-size:.88rem}
.ptl-resume-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.ptl-resume-button{
  min-height:38px;
  padding:7px 12px;
  border-radius:8px;
  cursor:pointer;
  font-weight:700;
}
.ptl-resume-yes{
  border:1px solid #18212a;
  background:#18212a;
  color:#fff8e9!important;
}
.ptl-resume-restart{
  border:1px solid #cfc5b5;
  background:#fffdf8;
  color:#18212a!important;
}
@media(max-width:600px){
  .ptl-visual-cues li{grid-template-columns:1fr!important;gap:5px!important}
  .ptl-resume-prompt{align-items:flex-start;flex-direction:column}
}

/* Beta 28 — cues belong below the player and stay understated */
.ptl-player-wrap + .ptl-visual-cues,
.ptl-unavailable + .ptl-visual-cues{
  margin-top:14px!important;
}
.ptl-visual-cues{
  padding:13px 15px!important;
  border-left-width:3px!important;
  background:#fbf5e9!important;
  box-shadow:none!important;
}
.ptl-visual-cues-title{
  margin:0 0 8px!important;
  color:var(--btf-ink-soft,#35424d)!important;
  font-size:.9rem!important;
  font-weight:600!important;
  line-height:1.45!important;
}
.ptl-visual-cues-subtitle,
.ptl-eye-icon{
  display:none!important;
}

/* Beta 31 — keep failed logins inside Bible Truth Foundry */
.ptl-login-error{
  margin:0 0 18px;
  padding:11px 13px;
  border:1px solid #d9a7a7;
  border-radius:8px;
  background:#fff0f0;
  color:#7a1f1f!important;
  font-size:.9rem;
  line-height:1.4;
}
.ptl-custom-login-form p{
  margin:0 0 15px;
}
.ptl-custom-login-form label{
  display:block;
  margin-bottom:6px;
}
.ptl-custom-login-form input[type="text"],
.ptl-custom-login-form input[type="password"]{
  width:100%;
}
.ptl-remember-row label{
  display:flex;
  align-items:center;
  gap:8px;
}
.ptl-login-submit{
  margin-bottom:0!important;
}
.ptl-login-submit .ptl-login-button{
  width:100%;
  border:0;
  cursor:pointer;
}
.ptl-login-status{
  margin:0 0 16px!important;
  text-align:center;
}

.ptl-test-chime{
  margin-top:10px;
  padding:6px 10px;
  border:1px solid rgba(117,86,47,.28);
  border-radius:7px;
  background:#fffdf8;
  color:#35424d!important;
  font-size:.78rem;
  cursor:pointer;
}
.ptl-test-chime:hover{
  background:#f7efe1;
}

.ptl-series-locked,.ptl-lesson-locked{opacity:.66}.ptl-lock-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eee7dc;color:#6d6256!important;font-size:.72rem;font-weight:800}.ptl-lesson-quiz{margin-top:16px;padding:16px;border:1px solid rgba(154,116,66,.26);border-radius:10px;background:#fffaf1}.ptl-lesson-quiz h4{margin:0 0 6px}.ptl-quiz-question{display:block;margin:14px 0;font-weight:600}.ptl-quiz-question span{display:block;margin-bottom:6px}.ptl-quiz-question input{width:100%;max-width:680px}.ptl-quiz-submit{padding:9px 14px;border:0;border-radius:8px;background:#18212a;color:#fff!important;font-weight:700;cursor:pointer}.ptl-quiz-result{margin-top:10px;font-weight:700}.ptl-quiz-passed{padding:12px;border-radius:8px;background:#eef6ed;color:#285a2d!important}


/* Beta 43 — progression additions. Scoped only to PTL components. */
.ptl-series-progress{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:7px;
}
.ptl-series-progress-track{
  display:block;
  width:120px;
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#e5ddd1;
}
.ptl-series-progress-track>span{
  display:block;
  height:100%;
  border-radius:999px;
  background:#9a7442;
}
.ptl-series-progress small{
  color:#766f65!important;
  font-size:.7rem!important;
  white-space:nowrap;
}
.ptl-complete-badge,
.ptl-final-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
}
.ptl-complete-badge{
  margin-left:auto;
  background:#e9f4ea;
  color:#24643b!important;
}
.ptl-series-final{
  margin:18px 0 4px;
  padding:18px;
  border:1px solid rgba(154,116,66,.25);
  border-radius:12px;
  background:#fffaf1;
}
.ptl-series-final-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.ptl-final-badge{
  background:#f1e3c6;
  color:#75562f!important;
}
.ptl-series-final-head strong{
  display:block;
  color:#18212a!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.05rem;
}
.ptl-series-final-head small{
  display:block;
  margin-top:2px;
  color:#766f65!important;
}
.ptl-series-final-passed{
  padding:12px 14px;
  border-radius:9px;
  background:#eaf4ea;
  color:#24643b!important;
  font-weight:800;
}
@media(max-width:640px){
  .ptl-series-progress{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .ptl-series-progress-track{width:100%}
}


/* Beta 44 — Series > Subseries / Topic > Lesson hierarchy */
.ptl-subseries-group{
  margin:18px 0 26px;
}
.ptl-subseries-header{
  margin:0 0 10px;
  padding:14px 16px 13px;
  border-left:4px solid #9a7442;
  border-radius:0 10px 10px 0;
  background:linear-gradient(90deg,rgba(154,116,66,.12),rgba(154,116,66,.035));
}
.ptl-subseries-kicker{
  display:block;
  margin-bottom:4px;
  color:#8a673b!important;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.ptl-subseries-header h3{
  margin:0!important;
  color:#18212a!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.28rem!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.ptl-subseries-header p{
  margin:6px 0 0!important;
  color:#756d63!important;
  font-size:.88rem!important;
  line-height:1.45!important;
}
.ptl-subseries-lessons{
  margin-left:22px;
  padding-left:14px;
  border-left:1px solid rgba(154,116,66,.18);
}
.ptl-subseries-lessons .ptl-lesson{
  margin-top:8px;
}
.ptl-subseries-lessons .ptl-lesson:first-child{
  margin-top:0;
}
.ptl-subseries-lessons .ptl-lesson-toggle{
  font-weight:600;
}
.ptl-subseries-ungrouped{
  margin-top:10px;
}
.ptl-subseries-ungrouped .ptl-subseries-lessons{
  margin-left:0;
  padding-left:0;
  border-left:0;
}
@media(max-width:700px){
  .ptl-subseries-header{
    padding:12px 13px;
  }
  .ptl-subseries-header h3{
    font-size:1.1rem!important;
  }
  .ptl-subseries-lessons{
    margin-left:8px;
    padding-left:9px;
  }
}

/* Beta 46 — generic future-content placeholder */
.ptl-future-lessons-placeholder{opacity:.94}
.ptl-future-lessons-toggle{cursor:default!important}
.ptl-future-lessons-toggle:disabled{opacity:1!important}
.ptl-future-lessons-placeholder .ptl-series-count{color:#766f65!important}




/* Beta 50 — progression welcome */
.ptl-progression-welcome-overlay{
  position:fixed;
  inset:0;
  z-index:2147482500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(24,33,42,.48);
  backdrop-filter:blur(2px);
  animation:ptlWelcomeFadeIn .18s ease both;
}
.ptl-progression-welcome-overlay.ptl-progression-welcome-closing{
  animation:ptlWelcomeFadeOut .18s ease both;
}
.ptl-progression-welcome-card{
  position:relative;
  width:min(500px,100%);
  padding:34px 30px 28px;
  border:1px solid rgba(154,116,66,.24);
  border-radius:18px;
  background:#fffaf1;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
  text-align:center;
  animation:ptlWelcomeCardIn .22s ease both;
}
.ptl-progression-welcome-x{
  position:absolute;
  top:12px;
  right:14px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#756d63!important;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.ptl-progression-welcome-x:hover{
  background:rgba(154,116,66,.08);
}
.ptl-progression-welcome-icon{
  font-size:42px;
  line-height:1;
  margin-bottom:10px;
}
.ptl-progression-welcome-kicker{
  color:#9a7442!important;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ptl-progression-welcome-card h2{
  margin:7px 0 16px!important;
  color:#18212a!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.75rem!important;
  line-height:1.2!important;
}
.ptl-progression-welcome-card p{
  margin:0 auto 12px!important;
  max-width:410px;
  color:#5f625f!important;
  font-size:.96rem!important;
  line-height:1.55!important;
}
.ptl-progression-welcome-button{
  margin-top:8px;
  min-height:44px;
  padding:10px 20px;
  border:0;
  border-radius:9px;
  background:#18212a;
  color:#fff8e9!important;
  font-weight:800;
  cursor:pointer;
}
@keyframes ptlWelcomeFadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes ptlWelcomeFadeOut{
  from{opacity:1}
  to{opacity:0}
}
@keyframes ptlWelcomeCardIn{
  from{transform:translateY(12px) scale(.98);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}
@media(max-width:640px){
  .ptl-progression-welcome-card{
    padding:30px 20px 24px;
    border-radius:15px;
  }
  .ptl-progression-welcome-card h2{
    font-size:1.45rem!important;
  }
}


/* Beta 54 — locked-session info button */
.ptl-lesson-locked{
  position:relative;
  padding-right:44px;
}
.ptl-locked-info-button{
  position:absolute;
  top:50%;
  right:10px;
  transform:translateY(-50%);
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  margin:0;
  padding:0;
  border:1px solid rgba(117,86,47,.28);
  border-radius:50%;
  background:#fffaf1;
  color:#75562f!important;
  font-size:18px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(24,33,42,.08);
}
.ptl-locked-info-button:hover{
  background:#f3e7cd;
}
.ptl-locked-info-button:focus-visible{
  outline:2px solid #9a7442;
  outline-offset:2px;
}

.ptl-locked-info-overlay{
  position:fixed;
  inset:0;
  z-index:2147482900;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(24,33,42,.44);
}
.ptl-locked-info-card{
  position:relative;
  width:min(430px,100%);
  padding:28px 24px 23px;
  border:1px solid rgba(154,116,66,.24);
  border-radius:16px;
  background:#fffaf1;
  box-shadow:0 28px 70px rgba(0,0,0,.23);
  text-align:center;
}
.ptl-locked-info-icon{
  margin-bottom:8px;
  color:#9a7442!important;
  font-size:34px;
  line-height:1;
}
.ptl-locked-info-card h3{
  margin:0 0 11px!important;
  color:#18212a!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.3rem!important;
}
.ptl-locked-info-card p{
  margin:0 auto 17px!important;
  max-width:350px;
  color:#5f625f!important;
  font-size:.92rem!important;
  line-height:1.5!important;
}
.ptl-locked-info-x{
  position:absolute;
  top:10px;
  right:12px;
  width:32px;
  height:32px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#756d63!important;
  font-size:22px;
  cursor:pointer;
}
.ptl-locked-info-close{
  min-height:40px;
  padding:8px 18px;
  border:0;
  border-radius:8px;
  background:#18212a;
  color:#fff8e9!important;
  font-weight:800;
  cursor:pointer;
}


/* Beta 56 — fixed member controls in the top-right */
.ptl-sitebar{
  position:relative;
  z-index:20;
}
.ptl-sitebar-account{
  position:fixed!important;
  top:14px!important;
  right:18px!important;
  z-index:2147482100!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
}
body.admin-bar .ptl-sitebar-account{
  top:46px!important;
}
.ptl-sitebar-account .ptl-member-name{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:700px){
  .ptl-sitebar-account{
    top:11px!important;
    right:10px!important;
  }
  body.admin-bar .ptl-sitebar-account{
    top:49px!important;
  }
  .ptl-sitebar-account .ptl-member-name{
    display:none!important;
  }
}


/* Beta 57 — keep account/logout INSIDE the site header at the top-right */
.ptl-sitebar .ptl-sitebar-inner .ptl-sitebar-account{
  position:static!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  transform:none!important;
}
.ptl-sitebar .ptl-sitebar-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
@media(max-width:700px){
  .ptl-sitebar .ptl-sitebar-inner .ptl-sitebar-account{
    position:static!important;
    margin-left:auto!important;
  }
  .ptl-sitebar .ptl-member-name{
    display:none!important;
  }
}
