/* Online masterclass catalogue; shared colors follow the approved brand theme. */
.lbn-online-page {
  --online-ink: #262b25;
  --online-body: #565b51;
  --online-accent: #decbd8;
  width: min(1240px, calc(100% - 64px));
  margin: 0 auto;
  padding: 68px 0 85px;
  background: #fff;
  color: var(--online-ink);
  font: 17px/1.75 "Figtree Local", Arial, sans-serif;
}
.lbn-online-page *, .lbn-online-page *::before, .lbn-online-page *::after { box-sizing: border-box; }
.lbn-online-page [hidden] { display: none !important; }
.lbn-online-page h1, .lbn-online-page h2 { font-family: "Figtree Local", Arial, sans-serif; font-weight: 400; letter-spacing: -.02em; text-transform: none; color: var(--online-ink); text-wrap: balance; }
.lbn-online-intro { text-align: center; margin: 0 auto 48px; }
.lbn-online-intro h1 { font-size: clamp(36px, 4.3vw, 62px); line-height: 1.15; margin: 0 0 20px; }
.lbn-online-intro p { font-size: 18px; color: #1c1d24; line-height: 1.6; margin: 0; }
.lbn-online-list { display: flex; flex-direction: column; gap: 85px; }
.lbn-online-course { margin: 0; padding-bottom: 60px; border-bottom: 1px solid #decbd8; }
.lbn-online-page .lbn-online-cover { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; border: 0; border-radius: 0; }
.lbn-online-details { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 65px; margin-top: 46px; align-items: start; }
.lbn-online-copy { min-width: 0; }
.lbn-online-meta { display: flex; flex-wrap: wrap; gap: 12px 22px; color: var(--online-accent); font: 13px/1.6 "Figtree Local", Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 10px; }
.lbn-online-copy h2 { font-size: 46px; line-height: 1.2; margin: 0 0 23px; }
.lbn-online-copy p { color: var(--online-body); text-align: justify; text-align-last: left; margin: 0 0 20px; }
.lbn-online-page h3 { font: 600 21px/1.4 "Figtree Local", Arial, sans-serif; color: var(--online-ink); text-transform: none; letter-spacing: 0; margin: 30px 0 17px; }
.lbn-online-page ul { list-style: none; padding: 0; margin: 0 0 20px; }
.lbn-online-page li { position: relative; color: var(--online-body); padding-left: 23px; margin: 0 0 10px; }
.lbn-online-page li::before { content: '✓'; position: absolute; left: 0; top: 2px; color: var(--online-accent); font-size: 14px; }
.lbn-online-copy .lbn-online-prep { font-size: 14px; line-height: 1.65; text-align: left; color: #1c1d24; border-left: 2px solid #decbd8; padding-left: 15px; margin-top: 24px; }
.lbn-online-purchase { background: #fcf8fb; border: 1px solid #decbd8; padding: 32px 28px; }
.lbn-online-price { display: flex; align-items: baseline; gap: 10px; }
.lbn-online-price strong { font: 400 74px/1 "Figtree Local", Arial, sans-serif; color: var(--online-ink); }
.lbn-online-price span { font: 14px/1.5 "Figtree Local", Arial, sans-serif; color: #1c1d24; }
.lbn-online-page .lbn-online-once { font-size: 14px; line-height: 1.6; color: #1c1d24; margin: 11px 0 26px; }
.lbn-online-page .lbn-online-buy {
  appearance: none; width: 100%; display: block; position: relative;
  border: 1px solid #151b16; border-radius: 3px; background: #151b16; color: #fff;
  padding: 15px 16px; margin: 0; min-height: 54px;
  font: 600 17px/1.35 "Figtree Local", Arial, sans-serif; letter-spacing: 0; text-transform: none;
  text-decoration: none; text-align: center; box-shadow: none; cursor: pointer;
}
.lbn-online-page .lbn-online-buy::before, .lbn-online-page .lbn-online-buy::after { display: none !important; content: none !important; }
.lbn-online-page .lbn-online-buy:disabled { background: #343a32; border-color: #343a32; color: #fff; opacity: 1; cursor: default; }
.lbn-online-page .lbn-online-buy:not(:disabled):hover { background: #394233; border-color: #394233; }
.lbn-online-page .lbn-online-buy:focus-visible, .lbn-checkout-status a:focus-visible { outline: 3px solid #1c1d24; outline-offset: 4px; }
.lbn-online-availability { text-align: center; color: #1c1d24; font: 14px/1.65 "Figtree Local", Arial, sans-serif; margin: 12px 0 0; }
.lbn-online-availability[data-error='true'] { color: #8b2929; }
.lbn-online-payment { text-align: center; font-size: 13px; line-height: 1.5; color: #1c1d24; margin: 12px 0 25px; }
.lbn-paypal-wordmark { font: italic 700 16px/1.5 "Figtree Local", Arial, sans-serif; color: #173e79; white-space: nowrap; }
.lbn-paypal-wordmark span { color: #007db5; }
.lbn-online-purchase hr { height: 1px; background: #f1dde9; border: 0; margin: 24px 0; }
.lbn-online-purchase h3 { font-size: 16px; margin: 0 0 8px; }
.lbn-online-page .lbn-online-access { font-size: 14px; line-height: 1.75; color: #1c1d24; margin: 0; }
.lbn-online-page .lbn-online-included { font-size: 14px; line-height: 1.65; margin: 19px 0 0; }
.lbn-online-included li { margin-bottom: 9px; }
.lbn-online-included li:last-child { margin-bottom: 0; }
.lbn-checkout-status { border: 1px solid #decbd8; background: #fcf8fb; padding: 22px 26px; margin: 0 0 30px; scroll-margin-top: 30px; }
.lbn-checkout-status p { margin: 0; }
.lbn-checkout-status a { display: inline-block; text-decoration: underline; margin-top: 12px; color: var(--online-ink); }
.lbn-checkout-status .lbn-online-buy { max-width: 280px; margin-top: 16px; }
@media (max-width: 1050px) {
  .lbn-online-details { grid-template-columns: minmax(0, 1fr) 290px; gap: 34px; }
  .lbn-online-purchase { padding: 26px 23px; }
}
@media (max-width: 760px) {
  .lbn-online-page { width: calc(100% - 32px); padding: 40px 0 35px; font-size: 16px; line-height: 1.75; }
  .lbn-online-intro { margin-bottom: 30px; }
  .lbn-online-intro h1 { font-size: clamp(32px, 8.5vw, 42px); margin-bottom: 16px; }
  .lbn-online-intro p { font-size: 15px; }
  .lbn-online-details { display: flex; flex-direction: column; gap: 30px; margin-top: 26px; }
  .lbn-online-copy h2 { font-size: 36px; }
  .lbn-online-copy p { hyphens: auto; }
  .lbn-online-meta { font-size: 11px; gap: 13px; }
  .lbn-online-purchase { width: 100%; padding: 26px; }
  .lbn-online-price strong { font-size: 67px; }
  .lbn-online-course { padding-bottom: 35px; }
}
