.wapu-single--sellable-course .wapu-vg--grid .wapu-vg__cell { grid-column: auto; }
.wapu-single--sellable-course .wapu-vg--grid .wapu-vg__cell:nth-child(3n + 1),
.wapu-single--sellable-course .wapu-vg--grid .wapu-vg__cell:last-child:nth-child(3n + 2) { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.wapu-course-curriculum { display: grid; gap: var(--wtds-s-4, 16px); margin-block: var(--wtds-s-4, 16px); }
.wapu-course-curriculum header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.wapu-course-curriculum h2, .wapu-course-curriculum p { margin: 0; }
.wapu-course-curriculum header p { color: var(--wtds-ink-2); }
.wapu-course-curriculum__list { list-style: none; display: grid; gap: 0; margin: 0; padding: 0; border-block: 1px solid var(--wtds-line, rgba(0,0,0,.12)); }
.wapu-course-curriculum__item { display: grid; grid-template-columns: 2.25rem minmax(0,1fr) auto; gap: 12px; align-items: start; padding-block: 14px; border-bottom: 1px solid var(--wtds-line, rgba(0,0,0,.12)); }
.wapu-course-curriculum__item:last-child { border-bottom: 0; }
.wapu-course-curriculum__index { color: var(--wtds-ink-2); font-variant-numeric: tabular-nums; }
.wapu-course-curriculum__copy { display: grid; gap: 4px; }
.wapu-course-curriculum__copy small { color: var(--wtds-ink-2); line-height: 1.45; }
.wapu-course-curriculum__lock { opacity: .65; font-size: .9rem; }
.wapu-course-single { display: grid; gap: var(--wtds-s-3, 12px); margin-block: var(--wtds-s-4, 16px); }
.wapu-course-single__facts { display: grid; gap: 10px; margin: 0; }
.wapu-course-single__facts > div { display: flex; justify-content: space-between; gap: 16px; padding-block: 8px; border-bottom: 1px solid var(--wtds-line, rgba(0,0,0,.12)); }
.wapu-course-single__facts dt { color: var(--wtds-ink-2); }
.wapu-course-single__facts dd { margin: 0; text-align: right; font-weight: 600; }
.wapu-course-single__access { margin: 4px 0 0; font-weight: 600; }
.wapu-course-single__continue { justify-self: start; }
@media (max-width: 700px) {
  .wapu-single--sellable-course .wapu-vg--grid .wapu-vg__grid { grid-template-columns: minmax(0, 1fr); }
  .wapu-single--sellable-course .wapu-vg--grid .wapu-vg__cell,
  .wapu-single--sellable-course .wapu-vg--grid .wapu-vg__cell:nth-child(3n + 1),
  .wapu-single--sellable-course .wapu-vg--grid .wapu-vg__cell:last-child:nth-child(3n + 2) { grid-column: auto; aspect-ratio: 4 / 3; }
  .wapu-course-curriculum header { align-items: start; flex-direction: column; }
}

body .wapu-single--sellable-course .wapu-single__inline-cta{display:flex;flex-direction:column;width:100%}
body .wapu-single--sellable-course .wapu-single__inline-purchase-row{display:flex;width:100%}
body .wapu-single--sellable-course .wapu-single__inline-qty-wrap{display:none}
body .wapu-single--sellable-course .wapu-single__inline-cta-btn{width:100%}
body .wapu-single--sellable-course .wapu-single__secondary-actions{display:block}
.wapu-course-curriculum__lesson{border:0;border-bottom:1px solid var(--wtds-separator-soft,#e5e7eb);border-radius:0}
.wapu-course-curriculum__lesson .wapu-accordion__chevron svg{display:none}
.wapu-course-curriculum__lesson .wapu-accordion__chevron::after{content:'+';font-size:24px;line-height:1;font-weight:600}
.wapu-course-curriculum__lesson[open] .wapu-accordion__chevron::after{content:'−'}
.wapu-course-curriculum__description{font-size:var(--wtds-fs-footnote,13px);line-height:1.6}
.wapu-course-preview__video{display:block;width:100%;max-height:70svh;background:#111;border-radius:8px}

.wapu-course-curriculum__lesson .wapu-accordion__chevron{transform:none}

body .wapu-single--sellable-course .wapu-course-curriculum{gap:0}
.wapu-course-curriculum>header{margin-bottom:var(--wtds-s-4,16px)}
body .wapu-course-curriculum__lesson .wapu-accordion__chevron{transform:none;color:var(--wtds-on-surface);opacity:1}

/* Course purchase information follows the service booking card. */
.wapu-single--sellable-course .wapu-course-single { margin:0; }
.wapu-single--sellable-course .wapu-course-single__facts { gap:16px; }
.wapu-single--sellable-course .wapu-course-single__facts > div { display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; gap:8px; border:0; padding:0; }
.wapu-single--sellable-course .wapu-course-single__fact-icon { display:inline-flex; flex:0 0 20px; color:var(--wtds-ink); }
.wapu-single--sellable-course .wapu-course-single__facts dt,
.wapu-single--sellable-course .wapu-course-single__facts dd { font-family:var(--wtds-font-text); font-size:var(--wtds-fs-subhead); font-weight:var(--wtds-fw-medium); color:var(--wtds-ink); text-align:left; }
.wapu-single--sellable-course .wapu-course-totals { display:flex; flex-direction:column; width:100%; }
.wapu-single--sellable-course .wapu-course-totals .wapu-extras-totals__row { display:flex; justify-content:space-between; gap:16px; width:100%; padding-block:12px; border-bottom:1px solid var(--wtds-separator); font-weight:500; }
.wapu-single--sellable-course .wapu-service-details__booking > .single_add_to_cart_button { width:100%; }

.wapu-single--sellable-course .wapu-course-single__access-actions { display:flex; flex-direction:column; gap:8px; width:100%; }
.wapu-single--sellable-course .wapu-course-single__continue { display:flex; align-items:center; justify-content:center; width:100%; box-sizing:border-box; }
.wapu-single--sellable-course .wapu-course-single__access { margin:0; text-align:center; color:var(--wtds-ink-3); font:400 var(--wtds-fs-footnote)/1.5 var(--wtds-font-text); }

/* Course facts begin at the same top edge as the description column. */
body.single-product .wapu-single--sellable-course .wapu-service-details__booking {
    align-self: start;
    justify-content: flex-start;
}
body.single-product .wapu-course-related-below {
    width: 100%;
    max-width: 1120px;
    margin: 32px auto 0;
    padding-inline: 24px;
    box-sizing: border-box;
}
body.single-product .wapu-course-related-below .wapu-single__related-carousel {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body .wapu-course-curriculum__lesson .wapu-accordion__chevron {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    background: transparent;
    border: 0;
    color: var(--wtds-ink-3);
}
body .wapu-course-curriculum__lesson .wapu-accordion__chevron::after {
    font-size: 18px;
    font-weight: 400;
}
@media (max-width: 767px) {
    body.single-product .wapu-course-related-below { padding-inline: 16px; }
}

/* Quiet semantic hierarchy for the course information. */
body.single-product .wapu-single--sellable-course .wapu-course-single__fact-icon,
body.single-product .wapu-single--sellable-course .wapu-course-single__facts dt {
    color: var(--wtds-ink-3);
    font-weight: var(--wtds-fw-regular, 400);
}
body.single-product .wapu-single--sellable-course .wapu-course-single__facts dd {
    color: var(--wtds-ink-2);
    font-weight: var(--wtds-fw-medium, 500);
}
body.single-product .wapu-single--sellable-course .wapu-course-single__fact-icon svg {
    color: inherit;
    stroke-width: 1.5;
}

/* Preview is a sibling action, never part of the accordion trigger. */
.wapu-course-curriculum__row { position:relative; min-width:0; }
.wapu-course-curriculum__row .wapu-accordion__trigger { min-height:52px; box-sizing:border-box; }
.wapu-course-curriculum__row.has-preview .wapu-accordion__trigger { padding-right:40px; }
body .wapu-course-curriculum__play {
    position:absolute; top:12px; right:0;
    display:grid; place-items:center; width:26px; height:26px;
    padding:0; border:2px solid var(--wtds-primary); border-radius:50%;
    background:transparent; color:var(--wtds-primary); cursor:pointer;
}
.wapu-course-curriculum__play svg { width:12px; height:12px; fill:currentColor; stroke:currentColor; margin-left:1px; }
.wapu-course-curriculum__play:focus-visible { outline:2px solid var(--wtds-action); outline-offset:3px; }

/* Compact lesson accordion; preview remains an independent dialog action. */
body .wapu-course-curriculum__accordion { border:1px solid var(--wtds-separator-soft,#e5e7eb); border-radius:8px; overflow:hidden; background:var(--wtds-surface,#fff); }
body .wapu-course-curriculum__accordion .wapu-course-curriculum__row { display:block; position:relative; padding:0; margin:0; border:0; }
body .wapu-course-curriculum__accordion .wapu-course-curriculum__row + .wapu-course-curriculum__row { border-top:1px solid var(--wtds-separator-soft,#e5e7eb); }
body .wapu-course-curriculum__heading { display:flex; align-items:center; gap:8px; }
body .wapu-course-curriculum__heading-title { flex:1; min-width:0; margin:0; padding:0; font:inherit; }
body .wapu-course-curriculum__toggle { display:flex; align-items:center; gap:8px; width:100%; padding:16px; margin:0; border:0; border-radius:0; background:transparent; text-align:left; text-transform:none; letter-spacing:normal; color:var(--wtds-ink); font:var(--wtds-fw-medium,500) var(--wtds-fs-subhead,14px)/1.5 var(--wtds-font-text); cursor:pointer; }
body .wapu-course-curriculum__arrow { display:flex; flex:0 0 16px; color:var(--wtds-ink-3); transition:transform .2s ease; }
body .wapu-course-curriculum__toggle[aria-expanded="true"] .wapu-course-curriculum__arrow { transform:rotate(90deg); }
body .wapu-course-curriculum__accordion .wapu-course-curriculum__play { position:static; transform:none; flex:0 0 24px; width:24px; height:24px; min-height:24px; padding:4px; margin:0 8px 0 0; }
body .wapu-course-curriculum__panel { padding:0 16px 16px; color:var(--wtds-ink-3); }
body .wapu-course-curriculum__panel[hidden] { display:none; }
body .wapu-course-curriculum__toggle:focus-visible { outline:2px solid var(--wtds-action); outline-offset:-2px; }
@media (prefers-reduced-motion:reduce) { body .wapu-course-curriculum__arrow { transition:none; } }

.wapu-course-curriculum__play svg { stroke-linejoin:round; stroke-linecap:round; stroke-width:2; }
