.lp-template-main{padding:48px 20px}.lp-wrap{--lp-accent:#28614f;--lp-accent-dark:#183f34;--lp-soft:#edf5f1;--lp-ink:#17231f;--lp-muted:#66736e;--lp-line:#dce6e1;max-width:1180px;margin:0 auto;color:var(--lp-ink);font-family:inherit}.lp-wrap *{box-sizing:border-box}.lp-wrap a{text-decoration:none}.lp-eyebrow{display:block;color:var(--lp-accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.lp-dashboard-head,.lp-section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.lp-dashboard-head h2,.lp-section-head h2{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.1}.lp-program-count{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--lp-soft);font-weight:800;color:var(--lp-accent)}.lp-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.lp-program-card{overflow:hidden;border:1px solid var(--lp-line);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(22,55,45,.07);transition:.2s ease}.lp-program-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(22,55,45,.11)}.lp-card-image{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--lp-soft),#d4e8df);overflow:hidden}.lp-card-image img{width:100%;height:100%;object-fit:cover}.lp-card-placeholder{display:block;width:100%;height:100%;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.85),transparent 32%),linear-gradient(135deg,#dfeee7,#a9cdbd)}.lp-card-body{padding:24px}.lp-card-body h3{font-size:24px;line-height:1.18;margin:0 0 12px}.lp-card-body h3 a{color:var(--lp-ink)}.lp-card-body p{color:var(--lp-muted);margin:0 0 20px}.lp-progress-meta{display:flex;justify-content:space-between;gap:15px;color:var(--lp-muted);font-size:13px;margin:20px 0 8px}.lp-progress{height:8px;border-radius:999px;background:#e7eeeb;overflow:hidden;margin-bottom:20px}.lp-progress span{display:block;height:100%;border-radius:inherit;background:var(--lp-accent)}.lp-progress-large{height:10px;margin-top:-8px;margin-bottom:28px}.lp-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 20px;border:1px solid var(--lp-accent);border-radius:10px;background:var(--lp-accent);color:#fff!important;font-weight:750;cursor:pointer;transition:.18s ease}.lp-button:hover{background:var(--lp-accent-dark);border-color:var(--lp-accent-dark)}.lp-button-outline{background:#fff;color:var(--lp-accent)!important}.lp-button-block{display:flex;width:100%}.lp-empty,.lp-message{padding:48px;border:1px dashed #b9ccc3;border-radius:18px;background:var(--lp-soft);text-align:center}.lp-empty h3,.lp-message h2{margin-top:0}.lp-program-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding:48px;border-radius:26px;background:linear-gradient(135deg,#f4f8f6,#dcece5);margin-bottom:28px}.lp-hero-copy h1,.lp-chapter-header h1{font-size:clamp(40px,7vw,72px);line-height:.98;letter-spacing:-.045em;margin:0 0 20px}.lp-lead{font-size:19px;line-height:1.6;color:var(--lp-muted);max-width:720px}.lp-hero-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;box-shadow:0 16px 40px rgba(22,55,45,.16)}.lp-hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.lp-hero-stats span{padding:8px 12px;border:1px solid rgba(40,97,79,.18);border-radius:999px;background:rgba(255,255,255,.65);font-size:13px;font-weight:700}.lp-content-card{padding:34px;border:1px solid var(--lp-line);border-radius:18px;background:#fff;margin-bottom:28px;line-height:1.75}.lp-content-card>:first-child{margin-top:0}.lp-content-card>:last-child{margin-bottom:0}.lp-curriculum,.lp-pdf-section{padding:34px;border:1px solid var(--lp-line);border-radius:18px;background:#fff;margin-top:28px}.lp-chapter-list{display:flex;flex-direction:column;gap:10px}.lp-chapter-row{display:grid;grid-template-columns:52px 1fr 34px;gap:16px;align-items:center;padding:18px;border:1px solid var(--lp-line);border-radius:13px;color:var(--lp-ink);transition:.18s ease}.lp-chapter-row:hover{border-color:#a9cabc;background:#f8fbf9}.lp-chapter-row.is-locked{opacity:.62;cursor:not-allowed}.lp-chapter-row.is-complete{background:#f1f8f4}.lp-chapter-number{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:var(--lp-soft);font-weight:800;color:var(--lp-accent)}.lp-chapter-title{display:flex;flex-direction:column;gap:4px}.lp-chapter-title small{color:var(--lp-muted)}.lp-chapter-state{color:var(--lp-accent)}.lp-purchase-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:34px;border-radius:18px;background:var(--lp-accent-dark);color:#fff}.lp-purchase-box .lp-eyebrow{color:#aee0cb}.lp-purchase-box h2{margin:0 0 10px;font-size:32px}.lp-purchase-box p{margin:0;color:#d5e4de;max-width:720px}.lp-purchase-action{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:210px;text-align:center}.lp-purchase-action .lp-button{background:#fff;border-color:#fff;color:var(--lp-accent-dark)!important}.lp-purchase-action small a{color:#d5e4de}.lp-price{font-size:28px;font-weight:850}.lp-breadcrumb{margin-bottom:28px}.lp-breadcrumb a{color:var(--lp-accent);font-weight:700}.lp-chapter-header{padding:18px 0 24px}.lp-chapter-header h1{max-width:920px}.lp-pdf-viewer{display:block;width:100%;height:min(78vh,900px);min-height:620px;border:1px solid var(--lp-line);border-radius:14px;background:#f4f4f4}.lp-complete-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid var(--lp-line);border-radius:16px;background:#fff;margin-top:28px}.lp-complete-card.is-complete{background:var(--lp-soft);border-color:#b9d6c9}.lp-complete-card strong{font-size:19px}.lp-complete-card p{margin:5px 0 0;color:var(--lp-muted)}.lp-complete-card>.dashicons{font-size:32px;width:32px;height:32px;color:var(--lp-accent)}.lp-complete-card form{margin:0}.lp-complete-card button{font:inherit}.lp-chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;padding-top:28px;border-top:1px solid var(--lp-line)}.lp-chapter-nav div{display:flex;flex-direction:column;gap:5px}.lp-chapter-nav small{color:var(--lp-muted)}.lp-chapter-nav a{color:var(--lp-accent);font-weight:800}.lp-chapter-nav .lp-next{text-align:right;align-items:flex-end}@media(max-width:900px){.lp-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-program-hero{grid-template-columns:1fr;padding:32px}.lp-purchase-box{grid-template-columns:1fr}.lp-purchase-action{align-items:flex-start;min-width:0}.lp-pdf-viewer{min-height:500px}}@media(max-width:620px){.lp-template-main{padding:28px 14px}.lp-program-grid{grid-template-columns:1fr}.lp-program-hero,.lp-content-card,.lp-curriculum,.lp-pdf-section{padding:23px}.lp-hero-copy h1,.lp-chapter-header h1{font-size:42px}.lp-chapter-row{grid-template-columns:44px 1fr 25px;padding:14px;gap:10px}.lp-chapter-number{width:38px;height:38px}.lp-complete-card{align-items:flex-start;flex-direction:column}.lp-chapter-nav{grid-template-columns:1fr}.lp-chapter-nav .lp-next{text-align:left;align-items:flex-start}.lp-pdf-viewer{min-height:430px}.lp-section-head{align-items:flex-start;flex-direction:column}}

/* Strong button defaults to prevent theme/Elementor button styles from overriding plugin actions. */
.lp-wrap button.lp-button,.lp-wrap .lp-complete-card button.lp-button{appearance:none;-webkit-appearance:none;background-color:var(--lp-accent)!important;background-image:none!important;border:1px solid var(--lp-accent)!important;color:#fff!important;opacity:1!important;box-shadow:none;text-shadow:none}
.lp-wrap button.lp-button:hover,.lp-wrap button.lp-button:focus,.lp-wrap .lp-complete-card button.lp-button:hover,.lp-wrap .lp-complete-card button.lp-button:focus{background-color:var(--lp-accent-dark)!important;background-image:none!important;border-color:var(--lp-accent-dark)!important;color:#fff!important}

/* 0.3.0 - direct chapter library actions */
.lp-library-meta{margin:18px 0;color:var(--lp-muted);font-size:14px;font-weight:700}
.lp-chapter-row{grid-template-columns:52px minmax(0,1fr) auto}
.lp-chapter-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.lp-button-small{min-height:40px;padding:8px 16px;border-radius:9px;font-size:14px;white-space:nowrap}
@media(max-width:720px){.lp-chapter-row{grid-template-columns:44px minmax(0,1fr)}.lp-chapter-actions{grid-column:1/-1;justify-content:stretch}.lp-chapter-actions .lp-button{flex:1}.lp-chapter-number{width:38px;height:38px}}

/* 0.4.0 - Premium WooCommerce My Account layout */
body.logged-in.woocommerce-account .woocommerce{
  --lp-accent:#28614f;
  --lp-accent-dark:#183f34;
  --lp-soft:#edf5f1;
  --lp-ink:#17231f;
  --lp-muted:#66736e;
  --lp-line:#dce6e1;
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr);
  gap:28px 36px;
  align-items:start;
  max-width:1180px;
  margin:32px auto 60px;
  color:var(--lp-ink);
}
body.logged-in.woocommerce-account .woocommerce>.woocommerce-notices-wrapper,
body.logged-in.woocommerce-account .woocommerce>.woocommerce-message,
body.logged-in.woocommerce-account .woocommerce>.woocommerce-error,
body.logged-in.woocommerce-account .woocommerce>.woocommerce-info,
body.logged-in.woocommerce-account .woocommerce>.lp-account-intro{
  grid-column:1/-1;
}
body.logged-in.woocommerce-account .lp-account-intro{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:30px 34px;
  border:1px solid var(--lp-line);
  border-radius:22px;
  background:linear-gradient(135deg,#f7faf8 0%,#e7f2ed 100%);
  overflow:hidden;
}
body.logged-in.woocommerce-account .lp-account-intro-copy{min-width:0}
body.logged-in.woocommerce-account .lp-account-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--lp-accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.logged-in.woocommerce-account .lp-account-intro h2{
  margin:0 0 7px;
  color:var(--lp-ink);
  font-size:clamp(28px,4vw,40px);
  line-height:1.08;
  letter-spacing:-.025em;
}
body.logged-in.woocommerce-account .lp-account-intro p{margin:0;color:var(--lp-muted);font-size:15px}
body.logged-in.woocommerce-account .lp-account-program-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:50px;
  padding:13px 19px;
  border:1px solid var(--lp-accent-dark);
  border-radius:12px;
  background:var(--lp-accent-dark);
  color:#fff!important;
  font-weight:800;
  text-decoration:none!important;
  white-space:nowrap;
  transition:.18s ease;
}
body.logged-in.woocommerce-account .lp-account-program-link:hover{background:var(--lp-accent);border-color:var(--lp-accent)}
body.logged-in.woocommerce-account .lp-account-program-link span{font-size:20px;line-height:1}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation{
  float:none!important;
  width:auto!important;
  margin:0!important;
  position:sticky;
  top:24px;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none!important;
  margin:0!important;
  padding:10px!important;
  border:1px solid var(--lp-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 36px rgba(23,52,43,.07);
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0!important;padding:0!important;border:0!important}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li+li{margin-top:3px!important}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex!important;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:11px 13px!important;
  border-radius:11px;
  color:#52615b!important;
  font-size:14px;
  font-weight:750;
  text-decoration:none!important;
  transition:.16s ease;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a:before{
  display:grid;
  place-items:center;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:8px;
  background:#f2f6f4;
  color:var(--lp-accent);
  content:'•';
  font-size:17px;
  line-height:1;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a:before{content:'⌂'}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--my-programs a:before{content:'▤'}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a:before{content:'▧'}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a:before{content:'↓'}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a:before{content:'⌖'}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a:before{content:'○'}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:before{content:'↗'}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background:var(--lp-soft)!important;
  color:var(--lp-accent-dark)!important;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:before{background:var(--lp-accent);color:#fff}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{margin-top:9px!important;padding-top:9px!important;border-top:1px solid var(--lp-line)!important}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content{
  float:none!important;
  width:auto!important;
  min-width:0;
  padding:30px 32px;
  border:1px solid var(--lp-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 36px rgba(23,52,43,.06);
  line-height:1.65;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content>.lp-wrap{max-width:none;margin:0}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content h2,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content h3{color:var(--lp-ink)}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content>p:first-child{margin-top:0}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content a{color:var(--lp-accent)}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content mark{
  padding:2px 6px;
  border-radius:6px;
  background:var(--lp-soft);
  color:var(--lp-accent-dark);
}
body.logged-in.woocommerce-account .woocommerce table.shop_table{
  overflow:hidden;
  margin:0 0 20px!important;
  border:1px solid var(--lp-line)!important;
  border-radius:14px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.logged-in.woocommerce-account .woocommerce table.shop_table th{padding:14px 16px!important;background:#f7faf8;color:var(--lp-ink);font-size:13px}
body.logged-in.woocommerce-account .woocommerce table.shop_table td{padding:15px 16px!important;border-top:1px solid var(--lp-line)!important}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
body.logged-in.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.logged-in.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.logged-in.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
body.logged-in.woocommerce-account .woocommerce-MyAccount-content select,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content textarea{
  width:100%;
  min-height:48px;
  padding:11px 13px;
  border:1px solid #cedbd5!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--lp-ink)!important;
  box-shadow:none!important;
  font:inherit;
}
body.logged-in.woocommerce-account .woocommerce-MyAccount-content input:focus,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content select:focus,
body.logged-in.woocommerce-account .woocommerce-MyAccount-content textarea:focus{outline:2px solid rgba(40,97,79,.16)!important;border-color:var(--lp-accent)!important}
body.logged-in.woocommerce-account .woocommerce .button,
body.logged-in.woocommerce-account .woocommerce button.button,
body.logged-in.woocommerce-account .woocommerce a.button{
  min-height:44px!important;
  padding:11px 17px!important;
  border:1px solid var(--lp-accent)!important;
  border-radius:10px!important;
  background:var(--lp-accent)!important;
  color:#fff!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.logged-in.woocommerce-account .woocommerce .button:hover,
body.logged-in.woocommerce-account .woocommerce button.button:hover,
body.logged-in.woocommerce-account .woocommerce a.button:hover{background:var(--lp-accent-dark)!important;border-color:var(--lp-accent-dark)!important;color:#fff!important}
body.logged-in.woocommerce-account .woocommerce fieldset{margin-top:24px;padding:20px;border:1px solid var(--lp-line);border-radius:14px}
body.logged-in.woocommerce-account .woocommerce legend{padding:0 8px;color:var(--lp-ink);font-weight:800}
body.logged-in.woocommerce-account .woocommerce-message,
body.logged-in.woocommerce-account .woocommerce-info{
  padding:15px 18px!important;
  border:1px solid #bfd8cd!important;
  border-top:1px solid #bfd8cd!important;
  border-radius:12px!important;
  background:var(--lp-soft)!important;
  color:var(--lp-ink)!important;
}
body.logged-in.woocommerce-account .woocommerce-error{
  padding:15px 18px 15px 42px!important;
  border-radius:12px!important;
}
@media(max-width:860px){
  body.logged-in.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:20px;margin-top:20px}
  body.logged-in.woocommerce-account .lp-account-intro{align-items:flex-start;flex-direction:column;padding:24px}
  body.logged-in.woocommerce-account .lp-account-program-link{width:100%}
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation{position:static}
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li+li{margin-top:0!important}
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{margin-top:0!important;padding-top:0!important;border-top:0!important}
  body.logged-in.woocommerce-account .woocommerce-MyAccount-content{padding:24px}
}
@media(max-width:520px){
  body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr}
  body.logged-in.woocommerce-account .woocommerce-MyAccount-content{padding:19px;border-radius:14px}
  body.logged-in.woocommerce-account .lp-account-intro h2{font-size:30px}
}

/* Keep logged-out WooCommerce account forms clean as well. */
body:not(.logged-in).woocommerce-account .woocommerce{max-width:980px;margin:30px auto 60px}
body:not(.logged-in).woocommerce-account .woocommerce form.login,
body:not(.logged-in).woocommerce-account .woocommerce form.register{
  padding:28px!important;
  border:1px solid #dce6e1!important;
  border-radius:18px!important;
  background:#fff;
}

/* 0.5.0 - branded customer authentication */
body.lp-auth-screen .entry-title,
body.lp-auth-screen .page-title,
body.lp-auth-screen .page-header{display:none!important}
body.lp-auth-screen .site-main,
body.lp-auth-screen main{min-height:0}
.lp-auth-page{--lp-auth-accent:#28614f;--lp-auth-dark:#183f34;--lp-auth-soft:#edf5f1;--lp-auth-ink:#17231f;--lp-auth-muted:#68766f;--lp-auth-line:#dce6e1;width:min(1080px,calc(100% - 32px));margin:54px auto 72px;color:var(--lp-auth-ink);font-family:inherit}
.lp-auth-page *{box-sizing:border-box}
.lp-auth-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);overflow:hidden;border:1px solid var(--lp-auth-line);border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(23,52,43,.10)}
.lp-auth-brand{display:flex;min-height:590px;flex-direction:column;justify-content:flex-end;padding:52px;background:linear-gradient(145deg,#173b32 0%,#245746 62%,#326e5a 100%);color:#fff;position:relative;isolation:isolate;overflow:hidden}
.lp-auth-brand:before,.lp-auth-brand:after{content:"";position:absolute;border-radius:999px;z-index:-1;pointer-events:none}
.lp-auth-brand:before{width:330px;height:330px;right:-155px;top:-90px;border:1px solid rgba(255,255,255,.12)}
.lp-auth-brand:after{width:220px;height:220px;right:-70px;top:15px;border:1px solid rgba(255,255,255,.10)}
.lp-auth-brand-kicker{display:block;margin-bottom:auto;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#c8e0d6}
.lp-auth-brand-mark{display:grid;place-items:center;width:58px;height:58px;margin-bottom:26px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(255,255,255,.10);font-size:27px;font-weight:850;backdrop-filter:blur(8px)}
.lp-auth-brand h2{max-width:430px;margin:0 0 16px;color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.04;letter-spacing:-.035em}
.lp-auth-brand p{max-width:430px;margin:0;color:#d3e3dd;font-size:16px;line-height:1.65}
.lp-auth-card{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:58px 62px;background:#fff}
.lp-auth-card-head{margin-bottom:30px}
.lp-auth-eyebrow{display:block;margin-bottom:10px;color:var(--lp-auth-accent);font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.lp-auth-card h1{margin:0 0 12px;color:var(--lp-auth-ink);font-size:clamp(36px,5vw,52px);line-height:1.02;letter-spacing:-.04em}
.lp-auth-card-head p{margin:0;color:var(--lp-auth-muted);font-size:16px;line-height:1.6}
.lp-auth-form{display:flex;flex-direction:column;gap:18px;margin:0}
.lp-auth-field{display:flex;flex-direction:column;gap:8px;margin:0;color:var(--lp-auth-ink);font-size:13px;font-weight:800}
.lp-auth-field input{width:100%;height:52px;margin:0!important;padding:12px 14px!important;border:1px solid #ccd9d3!important;border-radius:11px!important;background:#fff!important;color:var(--lp-auth-ink)!important;font:inherit!important;font-size:16px!important;box-shadow:none!important;outline:none!important;transition:.16s ease}
.lp-auth-field input:focus{border-color:var(--lp-auth-accent)!important;box-shadow:0 0 0 3px rgba(40,97,79,.10)!important}
.lp-auth-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:-2px;font-size:13px}
.lp-auth-row a,.lp-auth-foot a{color:var(--lp-auth-accent)!important;font-weight:800;text-decoration:none!important}
.lp-auth-row a:hover,.lp-auth-foot a:hover{text-decoration:underline!important}
.lp-auth-check{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--lp-auth-muted);font-weight:650;cursor:pointer}
.lp-auth-check input{width:17px;height:17px;margin:0;accent-color:var(--lp-auth-accent)}
.lp-auth-submit{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:52px!important;margin:4px 0 0!important;padding:13px 20px!important;border:1px solid var(--lp-auth-dark)!important;border-radius:11px!important;background:var(--lp-auth-dark)!important;color:#fff!important;font:inherit!important;font-size:15px!important;font-weight:850!important;line-height:1.2!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer;transition:.17s ease}
.lp-auth-submit:hover,.lp-auth-submit:focus{background:var(--lp-auth-accent)!important;border-color:var(--lp-auth-accent)!important;color:#fff!important}
.lp-auth-link-button{margin-top:20px!important}
.lp-auth-foot{margin-top:25px;padding-top:22px;border-top:1px solid var(--lp-auth-line);color:var(--lp-auth-muted);font-size:13px;line-height:1.55}
.lp-auth-foot p{margin:0}
.lp-auth-notice{margin:0 0 22px;padding:13px 15px;border:1px solid;border-radius:10px;font-size:13px;font-weight:650;line-height:1.5}
.lp-auth-notice.is-success{border-color:#b8d8ca;background:#eef7f3;color:#1c533f}
.lp-auth-notice.is-error{border-color:#e6c8c8;background:#fff4f4;color:#8a3535}
.lp-auth-help{margin:-4px 0 0;color:var(--lp-auth-muted);font-size:12px;line-height:1.5}
@media(max-width:860px){.lp-auth-page{margin:34px auto 54px}.lp-auth-layout{grid-template-columns:1fr}.lp-auth-brand{display:none}.lp-auth-card{padding:44px 38px}}
@media(max-width:520px){.lp-auth-page{width:min(100% - 20px,620px);margin:24px auto 42px}.lp-auth-layout{border-radius:18px}.lp-auth-card{padding:34px 22px}.lp-auth-card h1{font-size:36px}.lp-auth-row{align-items:flex-start;flex-direction:column;gap:10px}.lp-auth-submit{min-height:50px!important}}

/* 0.6.0 - premium checkout + post-purchase experience */
body.woocommerce-checkout:not(.woocommerce-order-received){
  --lp-checkout-accent:#28614f;
  --lp-checkout-dark:#183f34;
  --lp-checkout-soft:#f2f7f5;
  --lp-checkout-ink:#17231f;
  --lp-checkout-muted:#68766f;
  --lp-checkout-line:#dce6e1;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .entry-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .page-header{display:none!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce{
  width:min(1180px,calc(100% - 32px));
  max-width:1180px;
  margin:42px auto 70px!important;
  color:var(--lp-checkout-ink);
}
.lp-checkout-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin:0 0 28px;
  padding:30px 32px;
  border:1px solid var(--lp-checkout-line);
  border-radius:22px;
  background:linear-gradient(135deg,#f7faf8 0%,#edf5f1 100%);
}
.lp-checkout-intro-copy{max-width:690px}
.lp-checkout-kicker{
  display:block;
  margin:0 0 8px;
  color:var(--lp-checkout-accent);
  font-size:12px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.lp-checkout-intro h1{
  margin:0 0 10px!important;
  color:var(--lp-checkout-ink)!important;
  font-size:clamp(34px,4vw,48px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.lp-checkout-intro p{margin:0;color:var(--lp-checkout-muted);font-size:15px;line-height:1.6}
.lp-checkout-assurances{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:390px}
.lp-checkout-assurances span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #cfe0d8;
  border-radius:999px;
  background:#fff;
  color:var(--lp-checkout-dark);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.lp-checkout-assurances span:before{content:"✓";margin-right:6px;color:var(--lp-checkout-accent);font-weight:900}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-coupon-toggle,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-form-login-toggle{margin-bottom:16px}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-info,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-message{
  margin:0 0 16px!important;
  padding:14px 17px!important;
  border:1px solid #c8ddd4!important;
  border-top:1px solid #c8ddd4!important;
  border-radius:12px!important;
  background:var(--lp-checkout-soft)!important;
  color:var(--lp-checkout-ink)!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error{
  margin:0 0 18px!important;
  padding:15px 18px 15px 44px!important;
  border-radius:12px!important;
  border-top-width:1px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
  grid-template-rows:auto 1fr;
  gap:16px 34px;
  margin-top:24px;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details{
  grid-column:1;
  grid-row:1 / span 2;
  width:100%!important;
  margin:0!important;
  padding:28px!important;
  border:1px solid var(--lp-checkout-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 42px rgba(23,52,43,.055);
}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .col-1,
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .col-2{float:none!important;width:100%!important}
body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details .col-2{margin-top:25px}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading{
  grid-column:2;
  grid-row:1;
  align-self:end;
  margin:0!important;
  padding:0 4px!important;
  color:var(--lp-checkout-ink)!important;
  font-size:22px!important;
  line-height:1.2!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #order_review{
  grid-column:2;
  grid-row:2;
  align-self:start;
  position:sticky;
  top:24px;
  padding:24px!important;
  border:1px solid var(--lp-checkout-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 14px 42px rgba(23,52,43,.07);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields>h3,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-additional-fields>h3{
  margin:0 0 20px!important;
  color:var(--lp-checkout-ink)!important;
  font-size:24px!important;
  line-height:1.2!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row{margin:0 0 15px!important;padding:0!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row label{
  margin:0 0 7px!important;
  color:var(--lp-checkout-ink)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row input.input-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row input[type="text"],
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row input[type="email"],
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row input[type="tel"],
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row input[type="password"],
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row select,
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row textarea,
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container .select2-selection--single{
  min-height:50px!important;
  padding:11px 13px!important;
  border:1px solid #cbd9d3!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--lp-checkout-ink)!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:15px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container .select2-selection--single{padding:10px 12px!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--default .select2-selection--single .select2-selection__rendered{padding:0!important;line-height:28px!important;color:var(--lp-checkout-ink)!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px!important;right:7px!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row input:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .form-row textarea:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .select2-container--focus .select2-selection{
  outline:none!important;
  border-color:var(--lp-checkout-accent)!important;
  box-shadow:0 0 0 3px rgba(40,97,79,.10)!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table{
  margin:0 0 20px!important;
  border:0!important;
  border-collapse:collapse!important;
  border-radius:0!important;
  background:transparent!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table th,
body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table td{
  padding:13px 4px!important;
  border:0!important;
  border-bottom:1px solid var(--lp-checkout-line)!important;
  background:transparent!important;
  color:var(--lp-checkout-ink)!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table th{font-size:13px!important;font-weight:850!important}
body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table td{font-size:14px!important}
body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table .order-total th,
body.woocommerce-checkout:not(.woocommerce-order-received) table.shop_table .order-total td{padding-top:17px!important;border-bottom:0!important;font-size:17px!important;font-weight:900!important}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods{
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  list-style:none!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods li{
  margin:0 0 9px!important;
  padding:13px 14px!important;
  border:1px solid var(--lp-checkout-line);
  border-radius:11px;
  background:#fafcfb;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment div.payment_box{
  margin:11px 0 0!important;
  padding:13px!important;
  border-radius:9px!important;
  background:var(--lp-checkout-soft)!important;
  color:var(--lp-checkout-muted)!important;
  font-size:13px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment div.payment_box:before{border-bottom-color:var(--lp-checkout-soft)!important}
body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order{margin:0!important;padding:0!important}
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order{
  width:100%!important;
  min-height:54px!important;
  margin:8px 0 0!important;
  padding:14px 20px!important;
  border:1px solid var(--lp-checkout-dark)!important;
  border-radius:11px!important;
  background:var(--lp-checkout-dark)!important;
  color:#fff!important;
  font:inherit!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  line-height:1.2!important;
  box-shadow:none!important;
  transition:.17s ease;
}
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) #place_order:focus{background:var(--lp-checkout-accent)!important;border-color:var(--lp-checkout-accent)!important;color:#fff!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-privacy-policy-text,
body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-terms-and-conditions-wrapper{color:var(--lp-checkout-muted);font-size:12px;line-height:1.55}

/* WooCommerce Checkout Blocks: visual parity without altering block behavior. */
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout{
  width:min(1180px,100%);
  margin:0 auto!important;
  color:var(--lp-checkout-ink);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout{gap:32px!important}
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar{
  min-width:0;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main{
  padding:26px!important;
  border:1px solid var(--lp-checkout-line);
  border-radius:20px;
  background:#fff;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar{
  align-self:start;
  position:sticky;
  top:24px;
  padding:22px!important;
  border:1px solid var(--lp-checkout-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 42px rgba(23,52,43,.07);
}
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-text-input input,
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{
  border-radius:10px!important;
}
body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-checkout-place-order-button{
  min-height:54px!important;
  border-radius:11px!important;
  background:var(--lp-checkout-dark)!important;
  color:#fff!important;
  font-weight:900!important;
}

/* Purchase confirmation shown after checkout redirect to My Programs. */
.lp-purchase-notice{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin:0 0 22px;
  padding:17px 18px;
  border:1px solid;
  border-radius:14px;
  background:#fff;
}
.lp-purchase-notice-icon{
  display:grid;
  flex:0 0 34px;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  font-size:17px;
  font-weight:900;
}
.lp-purchase-notice strong{display:block;margin:0 0 3px;color:var(--lp-ink);font-size:15px}
.lp-purchase-notice p{margin:0!important;color:var(--lp-muted);font-size:13px;line-height:1.5}
.lp-purchase-notice.is-success{border-color:#b9d8cb;background:#f0f8f4}
.lp-purchase-notice.is-success .lp-purchase-notice-icon{background:#dcefe7;color:#1d5b43}
.lp-purchase-notice.is-pending{border-color:#e3d7b4;background:#fffaf0}
.lp-purchase-notice.is-pending .lp-purchase-notice-icon{background:#f4e9c8;color:#735d20}

/* More polished order/details screens inside Member Portal. */
body.logged-in.woocommerce-account .woocommerce-order-details,
body.logged-in.woocommerce-account .woocommerce-customer-details{
  margin:0 0 22px!important;
  padding:22px!important;
  border:1px solid var(--lp-line);
  border-radius:14px;
  background:#fff;
}
body.logged-in.woocommerce-account .woocommerce-order-details__title,
body.logged-in.woocommerce-account .woocommerce-column__title{margin:0 0 16px!important;color:var(--lp-ink)!important;font-size:20px!important}
body.logged-in.woocommerce-account address{padding:15px!important;border:1px solid var(--lp-line)!important;border-radius:11px!important;background:#f8faf9!important;line-height:1.65!important}

@media(max-width:900px){
  .lp-checkout-intro{align-items:flex-start;flex-direction:column;padding:25px}
  .lp-checkout-assurances{justify-content:flex-start;max-width:none}
  body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.woocommerce-checkout{grid-template-columns:1fr;grid-template-rows:auto;gap:20px}
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review_heading,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review{grid-column:1;grid-row:auto}
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review{position:static}
  body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-components-sidebar-layout{display:block!important}
  body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar{position:static;margin-top:20px!important}
}
@media(max-width:520px){
  body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce{width:min(100% - 20px,1180px);margin:24px auto 46px!important}
  .lp-checkout-intro{margin-bottom:20px;padding:21px 19px;border-radius:16px}
  .lp-checkout-intro h1{font-size:34px!important}
  .lp-checkout-assurances{gap:6px}
  .lp-checkout-assurances span{font-size:11px}
  body.woocommerce-checkout:not(.woocommerce-order-received) #customer_details,
  body.woocommerce-checkout:not(.woocommerce-order-received) #order_review,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__main,
  body.woocommerce-checkout:not(.woocommerce-order-received) .wc-block-checkout__sidebar{padding:19px!important;border-radius:15px}
}

/* Order-received fallback: normally visible only for a moment before 0.6.0 redirects to My Programs. */
body.woocommerce-order-received .woocommerce{
  width:min(900px,calc(100% - 32px));
  margin:44px auto 70px!important;
  padding:30px!important;
  border:1px solid #dce6e1;
  border-radius:20px;
  background:#fff;
  color:#17231f;
  box-shadow:0 14px 42px rgba(23,52,43,.07);
}
body.woocommerce-order-received .woocommerce-notice--success{
  margin:0 0 20px!important;
  color:#183f34!important;
  font-size:24px!important;
  font-weight:850!important;
  line-height:1.25!important;
}
body.woocommerce-order-received .woocommerce-order-overview{
  margin:0 0 22px!important;
  padding:16px!important;
  border:1px solid #dce6e1;
  border-radius:12px;
  background:#f7faf8;
}


/* 0.7.0 - structured program content types */
.lp-content-special-row{grid-template-columns:104px minmax(0,1fr) auto}
.lp-content-type-badge{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border-radius:9px;background:var(--lp-soft);color:var(--lp-accent);font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.1}
.lp-content-row-summary{border-color:#b8d4c7;background:#f6faf8}
.lp-content-row-closing{border-color:#cbd7d2;background:#fbfcfb}
.lp-content-row-summary .lp-content-type-badge{background:#dfeee7;color:#183f34}
.lp-content-row-closing .lp-content-type-badge{background:#edf1ef;color:#45564f}
.lp-additional-resources{background:#fbfcfb}
.lp-additional-resources .lp-content-type-badge{background:#f1f3f2;color:#53615b}
.lp-additional-resources .lp-type-bonus{background:#f4efe5;color:#745f35}
.lp-additional-resources .lp-type-checklist{background:#edf4f1;color:#2f6552}
.lp-additional-resources .lp-type-workbook{background:#eef0f5;color:#4d5870}
@media(max-width:720px){.lp-content-special-row{grid-template-columns:1fr}.lp-content-special-row .lp-content-type-badge{justify-self:start}.lp-content-special-row .lp-chapter-actions{grid-column:1/-1}}

/* 0.8.0 - protocol programs and purchase chooser */
.lp-protocol-library{margin:28px 0;padding:24px;border:1px solid var(--lp-line);border-radius:18px;background:#fff}.lp-protocol-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.lp-protocol-library-head h2{margin:3px 0 5px!important}.lp-protocol-library-head p{max-width:720px;margin:0;color:var(--lp-muted)}.lp-protocol-unlocked{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:#e6f3ed;color:#245d49;font-size:12px;font-weight:800}.lp-protocol-library .lp-curriculum{margin:0;padding:0;border:0;background:transparent}.lp-protocol-library .lp-additional-resources{margin-top:18px;padding-top:18px;border-top:1px solid var(--lp-line)}.lp-protocol-library .lp-additional-resources .lp-section-head{margin-bottom:10px}.lp-protocol-library .lp-additional-resources h3{margin:0!important;font-size:19px!important}.lp-locked-protocols{margin:32px 0;padding:24px;border:1px solid var(--lp-line);border-radius:18px;background:#fbfcfb}.lp-locked-protocol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lp-locked-protocol-card{padding:18px;border:1px solid var(--lp-line);border-radius:13px;background:#fff}.lp-locked-protocol-card>span{display:block;margin-bottom:9px}.lp-locked-protocol-card strong{display:block;color:var(--lp-ink);font-size:15px}.lp-locked-protocol-card p{margin:6px 0 0;color:var(--lp-muted);font-size:13px;line-height:1.45}.lp-inline-message{padding:12px 14px;border:1px solid var(--lp-line);border-radius:10px;background:#fff;color:var(--lp-muted)}
html.lp-modal-open{overflow:hidden}.lp-protocol-modal{display:none;position:fixed;z-index:999999;inset:0;align-items:center;justify-content:center;padding:20px}.lp-protocol-modal.is-open{display:flex}.lp-protocol-modal-backdrop{position:absolute;inset:0;background:rgba(11,24,20,.62);backdrop-filter:blur(3px)}.lp-protocol-modal-panel{position:relative;z-index:1;width:min(680px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px;border:1px solid rgba(255,255,255,.35);border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(5,20,15,.25)}.lp-protocol-modal-close{position:absolute;top:14px;right:14px;display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--lp-line);border-radius:50%;background:#fff;color:var(--lp-ink);font-size:25px;line-height:1;cursor:pointer}.lp-protocol-modal-head{padding-right:42px}.lp-protocol-modal-head h2{margin:5px 0 7px!important;color:var(--lp-ink)!important;font-size:30px!important;line-height:1.15!important}.lp-protocol-modal-head p{margin:0;color:var(--lp-muted)}.lp-protocol-choice-list{display:grid;gap:10px;margin:22px 0 18px}.lp-protocol-choice{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:13px;align-items:center;padding:16px;border:1px solid var(--lp-line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.lp-protocol-choice:hover{border-color:#9fb9ae;background:#fafcfb}.lp-protocol-choice.is-selected{border-color:var(--lp-accent);background:var(--lp-soft);box-shadow:0 0 0 1px var(--lp-accent)}.lp-protocol-choice input{width:18px;height:18px;margin:0;accent-color:var(--lp-accent)}.lp-protocol-choice-main{display:block;min-width:0}.lp-protocol-choice-title{display:block;color:var(--lp-ink);font-size:15px;font-weight:850}.lp-protocol-choice-description{display:block;margin-top:4px;color:var(--lp-muted);font-size:12px;line-height:1.4}.lp-protocol-choice-includes{display:block;margin-top:6px;color:var(--lp-accent);font-size:11px;font-weight:750}.lp-protocol-choice-price{white-space:nowrap;color:var(--lp-ink);font-size:18px;font-weight:900}.lp-protocol-continue[disabled]{opacity:.45;cursor:not-allowed}.lp-protocol-secure-note{margin:11px 0 0!important;color:var(--lp-muted);font-size:11px!important;text-align:center}.lp-protocol-popup-button{display:inline-flex}
@media(max-width:760px){.lp-locked-protocol-grid{grid-template-columns:1fr}.lp-protocol-library{padding:18px}.lp-protocol-library-head{flex-direction:column}.lp-protocol-modal{padding:10px}.lp-protocol-modal-panel{max-height:calc(100vh - 20px);padding:24px 18px;border-radius:17px}.lp-protocol-choice{grid-template-columns:22px minmax(0,1fr);align-items:start}.lp-protocol-choice-price{grid-column:2;margin-top:2px}.lp-protocol-modal-head h2{font-size:26px!important}}

/* 0.9.0 reusable program selection popups */
html.lp-popup-open{overflow:hidden}.lp-program-popup{--lp-popup-accent:#28614f;--lp-popup-dark:#183f34;--lp-popup-soft:#edf5f1;--lp-popup-ink:#17231f;--lp-popup-muted:#66736e;--lp-popup-line:#dce6e1;display:none;position:fixed;z-index:1000000;inset:0;align-items:center;justify-content:center;padding:20px;font-family:inherit}.lp-program-popup.is-open{display:flex}.lp-program-popup *{box-sizing:border-box}.lp-program-popup-backdrop{position:absolute;inset:0;background:rgba(11,24,20,.64);backdrop-filter:blur(4px)}.lp-program-popup-panel{position:relative;z-index:1;width:min(980px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:34px;border:1px solid rgba(255,255,255,.34);border-radius:24px;background:#fff;box-shadow:0 30px 100px rgba(5,20,15,.28)}.lp-program-popup-close{position:absolute;top:16px;right:16px;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--lp-popup-line);border-radius:50%;background:#fff;color:var(--lp-popup-ink);font-size:26px;line-height:1;cursor:pointer;transition:.16s ease}.lp-program-popup-close:hover{border-color:#b8c9c1;background:#f8fbf9}.lp-program-popup-head{padding-right:50px;margin-bottom:24px}.lp-program-popup-head .lp-eyebrow{display:block;margin-bottom:7px;color:var(--lp-popup-accent);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.lp-program-popup-head h2{margin:0!important;color:var(--lp-popup-ink)!important;font-size:clamp(28px,4vw,40px)!important;line-height:1.08!important;letter-spacing:-.025em}.lp-program-popup-head p{max-width:720px;margin:10px 0 0!important;color:var(--lp-popup-muted)!important;font-size:15px!important;line-height:1.55!important}.lp-program-popup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lp-program-popup-grid-1{grid-template-columns:minmax(0,520px);justify-content:center}.lp-program-popup-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin-inline:auto}.lp-program-popup-card{display:flex;min-width:0;min-height:190px;flex-direction:column;justify-content:space-between;gap:22px;padding:22px;border:1px solid var(--lp-popup-line);border-radius:16px;background:#fff;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.lp-program-popup-card:hover{transform:translateY(-2px);border-color:#b7cec4;box-shadow:0 14px 34px rgba(22,55,45,.08)}.lp-program-popup-card h3{margin:0!important;color:var(--lp-popup-ink)!important;font-size:20px!important;line-height:1.25!important}.lp-program-popup-price{margin-top:13px;color:var(--lp-popup-dark);font-size:23px;font-weight:900;line-height:1.2}.lp-program-popup-price del{margin-right:5px;color:#8b9591;font-size:.72em;font-weight:650;opacity:.8}.lp-program-popup-price ins{text-decoration:none}.lp-program-popup .lp-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:12px 18px;border:1px solid var(--lp-popup-accent);border-radius:10px;background:var(--lp-popup-accent);color:#fff!important;font-weight:800;text-decoration:none!important;transition:.16s ease}.lp-program-popup .lp-button:hover{border-color:var(--lp-popup-dark);background:var(--lp-popup-dark);color:#fff!important}.lp-program-popup .lp-button-block{width:100%}@media(max-width:780px){.lp-program-popup{padding:10px}.lp-program-popup-panel{max-height:calc(100vh - 20px);padding:26px 18px;border-radius:18px}.lp-program-popup-head{padding-right:42px}.lp-program-popup-grid,.lp-program-popup-grid-2{grid-template-columns:1fr}.lp-program-popup-card{min-height:0;padding:18px}.lp-program-popup-head h2{font-size:28px!important}}

/* 0.10.0 - coaching & personal training session packages */
body.logged-in.woocommerce-account .lp-account-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
body.logged-in.woocommerce-account .lp-account-session-link{background:#fff!important;color:var(--lp-accent-dark)!important;border-color:#c7d9d1!important}
body.logged-in.woocommerce-account .lp-account-session-link:hover{background:var(--lp-accent)!important;color:#fff!important;border-color:var(--lp-accent)!important}
body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--my-sessions a:before{content:'◷'}
.lp-session-card-grid{display:grid;gap:18px}.lp-session-card{padding:24px;border:1px solid var(--lp-line);border-radius:17px;background:#fff}.lp-session-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.lp-session-card-head h3{margin:3px 0 7px!important;font-size:24px!important;line-height:1.2!important}.lp-session-card-head p{max-width:650px;margin:0!important;color:var(--lp-muted)!important}.lp-session-balance-number{display:flex;min-width:126px;flex-direction:column;align-items:center;justify-content:center;padding:15px 18px;border-radius:14px;background:var(--lp-soft);text-align:center}.lp-session-balance-number strong{color:var(--lp-accent-dark);font-size:34px;line-height:1}.lp-session-balance-number span{margin-top:6px;color:var(--lp-muted);font-size:11px;font-weight:750;line-height:1.25}.lp-session-progress{height:8px;margin:20px 0 13px;overflow:hidden;border-radius:999px;background:#e7eeeb}.lp-session-progress span{display:block;height:100%;border-radius:inherit;background:var(--lp-accent)}.lp-session-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lp-session-stats span{display:flex;align-items:baseline;gap:7px;padding:10px 12px;border:1px solid var(--lp-line);border-radius:10px;color:var(--lp-muted);font-size:11px}.lp-session-stats strong{color:var(--lp-ink);font-size:18px}.lp-session-recent{margin-top:20px;padding-top:18px;border-top:1px solid var(--lp-line)}.lp-session-recent h4{margin:0 0 9px!important;font-size:14px!important}.lp-session-recent-row{display:grid;grid-template-columns:100px minmax(0,1fr) 34px;gap:12px;align-items:center;padding:9px 0;border-top:1px solid #eef2f0;font-size:12px}.lp-session-recent-row:first-of-type{border-top:0}.lp-session-recent-row span{color:var(--lp-muted)}.lp-session-recent-row strong{font-size:13px}.lp-session-recent-row em{color:var(--lp-muted);font-style:normal;text-align:right}

html.lp-session-buy-open{overflow:hidden}.lp-session-buy-modal{--lp-session-accent:#28614f;--lp-session-dark:#183f34;--lp-session-soft:#edf5f1;--lp-session-ink:#17231f;--lp-session-muted:#66736e;--lp-session-line:#dce6e1;display:none;position:fixed;z-index:1000002;inset:0;align-items:center;justify-content:center;padding:20px;font-family:inherit}.lp-session-buy-modal.is-open{display:flex}.lp-session-buy-modal *{box-sizing:border-box}.lp-session-buy-backdrop{position:absolute;inset:0;background:rgba(11,24,20,.65);backdrop-filter:blur(4px)}.lp-session-buy-panel{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:32px;border:1px solid rgba(255,255,255,.34);border-radius:23px;background:#fff;box-shadow:0 30px 100px rgba(5,20,15,.28)}.lp-session-buy-close{position:absolute;top:15px;right:15px;display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--lp-session-line);border-radius:50%;background:#fff;color:var(--lp-session-ink);font-size:26px;line-height:1;cursor:pointer}.lp-session-buy-head{padding-right:48px}.lp-session-buy-head .lp-eyebrow{color:var(--lp-session-accent)}.lp-session-buy-head h2{margin:4px 0 8px!important;color:var(--lp-session-ink)!important;font-size:32px!important;line-height:1.12!important}.lp-session-buy-head p{margin:0!important;color:var(--lp-session-muted)!important;font-size:14px!important;line-height:1.5!important}.lp-session-buy-options{display:grid;gap:11px;margin:23px 0 18px}.lp-session-buy-option{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:13px;align-items:center;padding:17px;border:1px solid var(--lp-session-line);border-radius:14px;background:#fff;cursor:pointer;transition:.15s ease}.lp-session-buy-option:hover{border-color:#a9cabc;background:#fafcfb}.lp-session-buy-option.is-featured{border-color:#d7aa3c;background:#fffaf0}.lp-session-buy-option.is-selected{border-color:var(--lp-session-accent);background:var(--lp-session-soft);box-shadow:0 0 0 1px var(--lp-session-accent)}.lp-session-buy-option input{width:18px;height:18px;margin:0;accent-color:var(--lp-session-accent)}.lp-session-buy-option-copy{display:block;min-width:0}.lp-session-buy-option-copy strong{display:block;color:var(--lp-session-ink);font-size:16px}.lp-session-buy-option-copy small{display:block;margin-top:4px;color:var(--lp-session-muted);font-size:12px}.lp-session-best-value{display:inline-flex;margin:0 0 5px;padding:3px 7px;border-radius:999px;background:#f4e7c5;color:#8a6111;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.lp-session-buy-price{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;gap:4px;min-width:125px;text-align:right}.lp-session-buy-price strong{color:var(--lp-session-dark);font-size:21px}.lp-session-buy-price small{color:var(--lp-session-muted);font-size:10px}.lp-session-buy-price em{grid-column:1/-1;color:var(--lp-session-ink);font-size:10px;font-style:normal;font-weight:750}.lp-session-buy-continue[disabled]{opacity:.45;cursor:not-allowed}.lp-session-buy-note{margin:10px 0 0!important;color:var(--lp-session-muted)!important;font-size:11px!important;text-align:center!important}
@media(max-width:760px){body.logged-in.woocommerce-account .lp-account-actions{width:100%;flex-direction:column;align-items:stretch}.lp-session-card-head{flex-direction:column}.lp-session-balance-number{width:100%;align-items:flex-start;text-align:left}.lp-session-stats{grid-template-columns:1fr}.lp-session-recent-row{grid-template-columns:86px minmax(0,1fr) 28px}.lp-session-buy-modal{padding:10px}.lp-session-buy-panel{max-height:calc(100vh - 20px);padding:25px 18px;border-radius:18px}.lp-session-buy-option{grid-template-columns:22px minmax(0,1fr);align-items:start}.lp-session-buy-price{grid-column:2;justify-content:start;text-align:left}.lp-session-buy-head h2{font-size:27px!important}}


/* 0.10.2 - force visible primary actions in purchase modals against theme/Elementor button overrides */
.lp-session-buy-modal button.lp-session-buy-continue{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  width:100%!important;
  min-height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 20px!important;
  border:1px solid var(--lp-session-accent)!important;
  border-radius:10px!important;
  background:var(--lp-session-accent)!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:inherit!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.lp-session-buy-modal button.lp-session-buy-continue:hover,
.lp-session-buy-modal button.lp-session-buy-continue:focus,
.lp-session-buy-modal button.lp-session-buy-continue:active{
  border-color:var(--lp-session-dark)!important;
  background:var(--lp-session-dark)!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.lp-session-buy-modal button.lp-session-buy-continue:disabled{
  border-color:var(--lp-session-accent)!important;
  background:var(--lp-session-accent)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:.45!important;
  cursor:not-allowed!important;
}
.lp-protocol-modal button.lp-protocol-continue{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:flex!important;
  width:100%!important;
  min-height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 20px!important;
  border:1px solid #28614f!important;
  border-radius:10px!important;
  background:#28614f!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:inherit!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.lp-protocol-modal button.lp-protocol-continue:hover,
.lp-protocol-modal button.lp-protocol-continue:focus,
.lp-protocol-modal button.lp-protocol-continue:active{
  border-color:#183f34!important;
  background:#183f34!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
