/* Offer components consume the shared Kenz semantic tokens. */
.kenz-course-offers { min-width: 0; }
.kenz-course-offers > :is(h2, p, form) { max-inline-size: var(--kenz-course-sales-reading-width); margin-inline: auto; }
.kenz-course-offers form, .kenz-offer-options { display: grid; gap: var(--kenz-space-4); }
.kenz-offer-options { padding: 0; margin: 0; border: 0; min-width: 0; }
.kenz-offer-options legend { font-family: var(--kenz-font-display); font-weight: 700; margin-block-end: var(--kenz-space-3); }
.kenz-offer-choice { display: grid; grid-template-columns: var(--kenz-space-6) minmax(0, 1fr) auto; align-items: center; gap: var(--kenz-space-3) var(--kenz-space-4); cursor: pointer; padding: var(--kenz-space-4); border: var(--kenz-line-thin) solid var(--kenz-color-border-strong); border-radius: var(--kenz-card-radius); background: var(--kenz-color-surface); transition: border-color var(--kenz-duration-fast) var(--kenz-ease-out), background var(--kenz-duration-fast) var(--kenz-ease-out), box-shadow var(--kenz-duration-fast) var(--kenz-ease-out); }
.kenz-offer-choice--base:hover, .kenz-offer-bundle--choice:hover, .kenz-offer-addon:not(.is-owned):hover { border-color: var(--kenz-color-primary); }
.kenz-offer-choice--base:has(input:checked), .kenz-offer-bundle:has(input:checked), .kenz-offer-addon:has(input:checked) { border-color: var(--kenz-color-primary); background: var(--kenz-color-primary-soft); box-shadow: inset 0 0 0 var(--kenz-line-thin) var(--kenz-color-primary); }
.kenz-offer-choice strong, .kenz-offer-choice small, .kenz-offer-addon small { display: block; }
.kenz-offer-choice strong { font-family: var(--kenz-font-display); color: var(--kenz-text-heading); }
.kenz-offer-choice small { color: var(--kenz-color-text-muted); margin-block-start: var(--kenz-space-1); }
:is(.kenz-course-offers, .kenz-offer-compact) input:is([type=checkbox],[type=radio]) { inline-size: var(--kenz-space-5); block-size: var(--kenz-space-5); accent-color: var(--kenz-color-primary); flex: 0 0 auto; margin: var(--kenz-space-1) 0; }
.kenz-offer-price { font-family: var(--kenz-font-display); font-weight: 800; color: var(--kenz-text-heading); }
.kenz-offer-choice--base .kenz-offer-price { font-size: var(--kenz-text-xl); justify-self: end; line-height: 1.2; }
.kenz-offer-price del { display: block; color: var(--kenz-color-text-muted); font-size: var(--kenz-text-sm); font-weight: 400; }
:is(.kenz-course-offers, .kenz-offer-compact, .kenz-offer-sticky-total) .woocommerce-Price-amount { display: inline-block; direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
:is(.kenz-course-offers, .kenz-offer-compact) del .woocommerce-Price-amount { text-decoration: line-through; }
.kenz-offer-bundle { border: var(--kenz-line-thin) solid var(--kenz-color-primary-alpha-30); border-radius: var(--kenz-card-radius); padding: var(--kenz-space-4); background: var(--kenz-color-surface); transition: border-color var(--kenz-duration-fast) var(--kenz-ease-out), background var(--kenz-duration-fast) var(--kenz-ease-out), box-shadow var(--kenz-duration-fast) var(--kenz-ease-out); }
.kenz-offer-bundle .kenz-offer-choice { padding: 0; border: 0; background: transparent; box-shadow: none; }
.kenz-offer-choice .kenz-offer-badge { display: inline-flex; color: var(--kenz-color-primary); background: var(--kenz-color-primary-soft); border-radius: var(--kenz-chip-radius); padding: var(--kenz-space-1) var(--kenz-space-2); margin-block-end: var(--kenz-space-2); }
.kenz-offer-saving, .kenz-offer-included-status { color: var(--kenz-button-secondary-text); font-weight: 700; }
.kenz-offer-saving { display: inline-flex; align-items: center; gap: var(--kenz-space-1); padding: var(--kenz-space-1) var(--kenz-space-3); border-radius: var(--kenz-chip-radius); background: var(--kenz-button-secondary-bg); font-family: var(--kenz-font-body); }
.kenz-offer-includes { list-style: none; padding: 0; display: grid; gap: var(--kenz-space-2); }
.kenz-offer-includes :is(li, [role=listitem]) { display: flex; flex-wrap: wrap; gap: var(--kenz-space-2); align-items: center; }
.kenz-offer-includes .is-current-course { font-weight: 700; color: var(--kenz-text-heading); }
.kenz-offer-current-tag { font-style: normal; font-size: var(--kenz-text-2xs); font-weight: 700; color: var(--kenz-color-primary); background: var(--kenz-color-primary-soft); border: var(--kenz-line-thin) solid var(--kenz-color-primary-alpha-20); border-radius: var(--kenz-chip-radius); padding: 0 var(--kenz-space-2); white-space: nowrap; }
.kenz-offer-bundle:has(input:checked) .kenz-offer-current-tag { background: var(--kenz-color-surface); }
.kenz-offer-includes .kenz-icon { color: var(--kenz-color-primary); flex: 0 0 auto; }
.kenz-course-offers .kenz-offer-includes .kenz-icon { inline-size: var(--kenz-space-4); block-size: var(--kenz-space-4); }
.kenz-offer-bundle--choice { position: relative; margin-block-start: var(--kenz-space-4); padding: var(--kenz-space-5); }
.kenz-offer-bundle__ribbon { position: absolute; inset-inline-start: var(--kenz-space-5); inset-block-start: 0; transform: translateY(-50%); padding: var(--kenz-space-1) var(--kenz-space-3); border-radius: var(--kenz-chip-radius); background: var(--kenz-offer-ribbon-bg); color: var(--kenz-offer-ribbon-text); font-size: var(--kenz-text-sm); font-weight: 700; }
.kenz-offer-bundle--choice .kenz-offer-choice::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.kenz-offer-bundle--choice:has(:focus-visible) { outline: var(--kenz-focus-width) solid var(--kenz-color-focus); outline-offset: var(--kenz-space-1); }
.kenz-offer-bundle--choice .kenz-offer-choice { align-items: start; column-gap: var(--kenz-space-3); row-gap: var(--kenz-space-4); }
.kenz-offer-bundle__head { min-width: 0; }
.kenz-offer-bundle__head > strong { font-size: var(--kenz-text-xl); line-height: 1.35; }
.kenz-offer-bundle--choice .kenz-offer-price { display: grid; grid-template-columns: max-content max-content; justify-content: end; justify-items: end; align-items: baseline; gap: var(--kenz-space-1) var(--kenz-space-2); text-align: end; }
.kenz-offer-bundle--choice .kenz-offer-price > strong { grid-column: 1; grid-row: 1; }
.kenz-offer-bundle--choice .kenz-offer-price > del { grid-column: 2; grid-row: 1; }
.kenz-offer-bundle--choice .kenz-offer-price > :is(small, .kenz-offer-saving) { grid-column: 1 / -1; }
.kenz-offer-bundle--choice .kenz-offer-price small { margin: 0; font-family: var(--kenz-font-body); font-size: var(--kenz-text-xs); font-weight: 400; }
.kenz-offer-bundle--choice .kenz-offer-price > strong { font-size: var(--kenz-offer-price-size); color: var(--kenz-color-primary); line-height: 1.15; }
.kenz-offer-bundle--choice .kenz-offer-price .kenz-offer-saving { margin-block-start: var(--kenz-space-1); font-size: var(--kenz-text-xs); }
.kenz-offer-bundle--choice .kenz-offer-includes { grid-column: 2 / -1; margin: 0; padding-block-start: var(--kenz-space-3-75); border-block-start: var(--kenz-line-thin) solid var(--kenz-color-primary-alpha-14); font-size: var(--kenz-text-sm); }
.kenz-offer-bundle__note { margin: var(--kenz-space-3) 0 0; font-size: var(--kenz-text-xs); color: var(--kenz-color-text-muted); }
.kenz-offer-addon { position: relative; display: grid; grid-template-columns: var(--kenz-space-6) var(--kenz-space-16) minmax(0, 1fr) auto; align-items: center; column-gap: var(--kenz-space-3); row-gap: var(--kenz-space-1); padding: var(--kenz-space-4); border: var(--kenz-line-thin) solid var(--kenz-color-border-strong); border-radius: var(--kenz-card-radius); background: var(--kenz-color-surface); transition: border-color var(--kenz-duration-fast) var(--kenz-ease-out), background var(--kenz-duration-fast) var(--kenz-ease-out), box-shadow var(--kenz-duration-fast) var(--kenz-ease-out); }
.kenz-offer-addon.is-owned { grid-template-columns: var(--kenz-space-16) minmax(0, 1fr); }
.kenz-offer-addon:has(:focus-visible) { outline: var(--kenz-focus-width) solid var(--kenz-color-focus); outline-offset: var(--kenz-space-1); }
.kenz-offer-addon__check { grid-column: 1; grid-row: 1 / span 2; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.kenz-offer-addon__check::after { content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1; }
.kenz-offer-addon:has(input:disabled) .kenz-offer-addon__check { cursor: default; }
.kenz-offer-addon__image { grid-column: 2; grid-row: 1 / span 2; inline-size: var(--kenz-space-16); aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border-radius: var(--kenz-control-radius); border: var(--kenz-card-border); background: var(--kenz-color-page); color: var(--kenz-color-primary); }
.kenz-offer-addon.is-owned .kenz-offer-addon__image { grid-column: 1; }
.kenz-offer-addon__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.kenz-offer-addon__body { grid-column: 3; grid-row: 1; min-width: 0; display: grid; gap: var(--kenz-space-1); }
.kenz-offer-addon.is-owned .kenz-offer-addon__body { grid-column: 2; }
.kenz-offer-addon__type { font-size: var(--kenz-text-xs); color: var(--kenz-color-text-muted); }
.kenz-offer-addon__title { font-family: var(--kenz-font-display); font-size: var(--kenz-text-lg); color: var(--kenz-text-heading); line-height: 1.35; }
.kenz-offer-addon__reason { margin: 0; font-size: var(--kenz-text-sm); color: var(--kenz-color-text-muted); }
.kenz-offer-addon__aside { grid-column: 4; grid-row: 1 / span 2; justify-self: end; text-align: end; display: grid; justify-items: end; gap: var(--kenz-space-1); }
.kenz-offer-addon__pricing, .kenz-offer-addon__aside .kenz-offer-included-status { margin: 0; }
.kenz-offer-addon__access, .kenz-offer-addon__details { position: relative; z-index: 2; justify-self: start; display: inline-flex; align-items: center; gap: var(--kenz-space-1); font-size: var(--kenz-text-xs); font-weight: 700; text-decoration: none; }
.kenz-offer-addon__access { color: var(--kenz-color-support); padding-block: var(--kenz-space-1); }
.kenz-offer-addon__details { grid-column: 3; grid-row: 2; padding-block: var(--kenz-space-1); color: var(--kenz-color-primary); }
.kenz-offer-addon.is-owned .kenz-offer-addon__details { grid-column: 2; }
.kenz-offer-addon__details:hover { text-decoration: underline; }
.kenz-offer-addon__details .kenz-icon { inline-size: var(--kenz-space-3-75); block-size: var(--kenz-space-3-75); }
.kenz-offer-comparison { display: grid; grid-template-columns: max-content max-content; align-items: end; justify-content: start; gap: var(--kenz-space-2) var(--kenz-space-3); }
.kenz-offer-comparison > .kenz-offer-saving { grid-column: 1 / -1; justify-self: start; font-size: var(--kenz-text-sm); }
.kenz-offer-comparison__before, .kenz-offer-comparison__now { display: grid; gap: var(--kenz-space-1); }
.kenz-offer-comparison__before { color: var(--kenz-color-text-muted); font-size: var(--kenz-text-sm); }
.kenz-offer-comparison__now > span { font-size: var(--kenz-text-sm); color: var(--kenz-color-text-muted); }
.kenz-offer-comparison__now > strong { font-family: var(--kenz-font-display); color: var(--kenz-color-primary); font-size: var(--kenz-text-xl); line-height: 1.3; }
:is(.kenz-offer-addon__pricing, .kenz-offer-compact) :is(.kenz-offer-comparison__now > span, .kenz-offer-comparison__before > span) { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
:is(.kenz-offer-addon__pricing, .kenz-offer-compact) :is(.kenz-offer-comparison__before, .kenz-offer-comparison__now) { display: inline-flex; align-items: baseline; }
:is(.kenz-offer-addon__pricing, .kenz-offer-compact) .kenz-offer-comparison { display: grid; grid-template-columns: max-content max-content; align-items: baseline; justify-content: end; justify-items: end; gap: var(--kenz-space-1) var(--kenz-space-2); }
:is(.kenz-offer-addon__pricing, .kenz-offer-compact) .kenz-offer-comparison > .kenz-offer-saving { grid-column: 1 / -1; justify-self: end; font-size: var(--kenz-text-xs); padding: var(--kenz-space-1) var(--kenz-space-2-5); }
.kenz-offer-addon__pricing .kenz-offer-comparison__now > strong { font-size: var(--kenz-text-xl); color: var(--kenz-text-heading); line-height: 1.15; }
.kenz-offer-addon--saving .kenz-offer-comparison__now > strong { font-size: var(--kenz-text-xl); color: var(--kenz-color-primary); }
.kenz-offer-comparison del .woocommerce-Price-amount { text-decoration: line-through; }
.kenz-offer-summary { display: grid; gap: var(--kenz-space-4); background: var(--kenz-color-primary-soft); border: var(--kenz-line-thin) solid var(--kenz-color-primary-alpha-20); border-radius: var(--kenz-card-radius); padding: var(--kenz-space-5); }
.kenz-offer-summary__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: var(--kenz-space-3); }
.kenz-offer-summary__meta { display: grid; gap: var(--kenz-space-1); min-width: 0; }
.kenz-offer-summary__meta > strong { font-family: var(--kenz-font-display); font-size: var(--kenz-text-lg); color: var(--kenz-text-heading); }
.kenz-offer-summary__meta > p { margin: 0; font-size: var(--kenz-text-sm); color: var(--kenz-color-text-muted); }
.kenz-offer-summary__totals { display: grid; justify-items: end; gap: var(--kenz-space-1); text-align: end; }
.kenz-offer-summary__totals > strong { font-family: var(--kenz-font-display); font-size: var(--kenz-offer-price-size); font-weight: 800; color: var(--kenz-color-primary); line-height: 1.1; }
.kenz-offer-summary__totals > .kenz-offer-saving { font-size: var(--kenz-text-xs); }
.kenz-offer-actions { display: grid; grid-template-columns: var(--kenz-control-height) minmax(0, 1fr); gap: var(--kenz-space-2-5); }
.kenz-offer-actions button:first-child { padding-inline: 0; }
.kenz-course-offers .kenz-offer-actions .kenz-button-primary { background: var(--kenz-color-primary); border-color: var(--kenz-color-primary); color: var(--kenz-color-surface); font-family: var(--kenz-font-display); font-size: var(--kenz-text-md); font-weight: 700; }
.kenz-course-offers .kenz-offer-actions .kenz-button-primary:hover { background: var(--kenz-color-primary-hover); border-color: var(--kenz-color-primary-hover); color: var(--kenz-color-surface); }
.kenz-offer-compact { max-width: var(--kenz-course-sales-reading-width); margin: var(--kenz-space-4) auto; padding: var(--kenz-space-3-75) var(--kenz-space-4); border-radius: var(--kenz-card-radius); border: var(--kenz-line-thin) solid var(--kenz-color-primary-alpha-15); background: var(--kenz-color-primary-soft); font-size: var(--kenz-text-sm); }
.kenz-offer-teaser { display: flex; gap: var(--kenz-space-2); align-items: center; min-height: var(--kenz-chrome-touch-size); color: var(--kenz-color-primary); cursor: pointer; }
.kenz-offer-teaser--bundle { justify-content: space-between; gap: var(--kenz-space-3); min-height: auto; padding-block: var(--kenz-space-1); text-decoration: none; }
.kenz-offer-teaser__lead { display: flex; align-items: center; gap: var(--kenz-space-2-5); min-width: 0; text-align: start; }
.kenz-offer-teaser__lead > .kenz-icon { inline-size: var(--kenz-space-5); block-size: var(--kenz-space-5); color: var(--kenz-color-primary); flex: 0 0 auto; }
.kenz-offer-teaser__jump { display: inline-flex; align-items: center; gap: var(--kenz-space-1); padding: var(--kenz-space-1) var(--kenz-space-2-5); border-radius: var(--kenz-chip-radius); background: var(--kenz-color-surface); border: var(--kenz-line-thin) solid var(--kenz-color-primary-alpha-20); font-size: var(--kenz-text-xs); font-weight: 700; color: var(--kenz-color-primary); white-space: nowrap; flex: 0 0 auto; transition: border-color var(--kenz-duration-fast) var(--kenz-ease-out); }
.kenz-offer-teaser--bundle:hover .kenz-offer-teaser__jump { border-color: var(--kenz-color-primary); }
.kenz-offer-teaser__jump .kenz-icon { inline-size: var(--kenz-space-3-75); block-size: var(--kenz-space-3-75); }
.kenz-offer-teaser--booklet { display: grid; grid-template-columns: var(--kenz-space-6) minmax(0, 1fr) auto; align-items: center; gap: var(--kenz-space-3); padding: var(--kenz-space-3); margin-block-start: var(--kenz-space-2-5); border: var(--kenz-line-thin) solid var(--kenz-color-border-strong); background: var(--kenz-color-surface); border-radius: var(--kenz-control-radius); transition: border-color var(--kenz-duration-fast) var(--kenz-ease-out), box-shadow var(--kenz-duration-fast) var(--kenz-ease-out); }
.kenz-offer-teaser--booklet:hover { border-color: var(--kenz-color-primary); }
.kenz-offer-teaser--booklet:has(input:checked) { border-color: var(--kenz-color-primary); box-shadow: inset 0 0 0 var(--kenz-line-thin) var(--kenz-color-primary); }
.kenz-offer-teaser__title { display: grid; gap: var(--kenz-space-1); min-width: 0; }
.kenz-offer-teaser__title > strong { font-family: var(--kenz-font-display); font-size: var(--kenz-text-md); color: var(--kenz-text-heading); line-height: 1.35; }
.kenz-offer-teaser__title > small { font-size: var(--kenz-text-xs); color: var(--kenz-color-text-muted); }
.kenz-offer-teaser .kenz-icon { flex: 0 0 auto; }
.kenz-offer-compact .kenz-offer-comparison__now > strong { font-size: var(--kenz-text-xl); }
.kenz-offer-compact :is(.kenz-offer-comparison__before, .kenz-offer-comparison__now > span, .kenz-offer-saving) { font-size: var(--kenz-text-xs); }
.kenz-offer-compact .kenz-offer-saving { padding: var(--kenz-space-1) var(--kenz-space-2); }
.kenz-offer-selection-total { display: flex; justify-content: space-between; align-items: center; gap: var(--kenz-space-2); flex-wrap: wrap; padding-block-start: var(--kenz-space-3); margin-block: var(--kenz-space-3) 0; border-block-start: var(--kenz-line-thin) solid var(--kenz-color-primary-alpha-14); color: var(--kenz-text-heading); font-weight: 700; }
.kenz-offer-selection-total > strong { font-family: var(--kenz-font-display); font-size: var(--kenz-text-xl); color: var(--kenz-color-primary); }
:is(.kenz-course-offers, .kenz-offer-compact) [data-offer-status]:empty { display: none; }
:is(.kenz-course-offers, .kenz-offer-compact) [data-offer-status][data-offer-tone="quiet"] { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
:is(.kenz-course-offers, .kenz-offer-compact) [data-offer-status]:not(:empty):not([data-offer-tone="quiet"]) { margin: var(--kenz-space-2-5) 0 0; font-size: var(--kenz-text-xs); color: var(--kenz-color-text-muted); }
:is(.kenz-course-offers, .kenz-offer-compact) [data-offer-status][data-offer-tone="error"] { color: var(--kenz-color-error-text); font-weight: 700; }
.kenz-offer-sticky-total { display: none; }
.kenz-course-action-band.is-sticky .kenz-offer-compact { display: none; }
.kenz-course-action-band.is-sticky.has-kenz-offer-selection :is(.kenz-course-price, [data-kenz-selected-price]) { display: none !important; }
.kenz-course-action-band.is-sticky.has-kenz-offer-selection .kenz-offer-sticky-total { display: grid; font-size: var(--kenz-text-sm); }
.kenz-offer-sticky-total strong { font-size: var(--kenz-text-xl); }
:is(.kenz-course-offers, .kenz-offer-compact) [hidden] { display: none !important; }
:is(.kenz-course-offers, .kenz-offer-compact) :focus-visible { outline: var(--kenz-focus-width) solid var(--kenz-color-focus); outline-offset: var(--kenz-space-1); }
.kenz-course-offers [aria-busy=true] { opacity: .6; }
@media (max-width: 37.5rem) {
  .kenz-offer-bundle--choice { padding: var(--kenz-space-5) var(--kenz-space-4); }
  .kenz-offer-bundle--choice .kenz-offer-choice { grid-template-columns: var(--kenz-space-6) minmax(0, 1fr); row-gap: var(--kenz-space-3); }
  .kenz-offer-bundle--choice .kenz-offer-choice > .kenz-offer-price { grid-column: 2; justify-content: start; justify-items: start; text-align: start; }
  .kenz-offer-bundle--choice .kenz-offer-includes { grid-column: 1 / -1; }
  .kenz-offer-addon { grid-template-columns: var(--kenz-space-6) var(--kenz-space-16) minmax(0, 1fr); align-items: start; row-gap: var(--kenz-space-2); padding: var(--kenz-space-3-75); }
  .kenz-offer-addon__check { grid-row: 1; align-self: start; padding-block-start: var(--kenz-space-1); }
  .kenz-offer-addon__image { grid-row: 1 / span 2; align-self: start; }
  .kenz-offer-addon__aside { grid-column: 3; grid-row: 2; justify-self: start; justify-items: start; text-align: start; }
  .kenz-offer-addon__details { grid-column: 3; grid-row: 3; }
  :is(.kenz-offer-addon__pricing, .kenz-offer-compact) .kenz-offer-comparison { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: var(--kenz-space-2); }
  .kenz-offer-compact { margin-inline: var(--kenz-space-3); padding: var(--kenz-space-3); }
  .kenz-offer-teaser--bundle { flex-wrap: wrap; }
  .kenz-offer-teaser--booklet { grid-template-columns: var(--kenz-space-6) minmax(0, 1fr); align-items: start; column-gap: var(--kenz-space-2); row-gap: var(--kenz-space-2); padding: var(--kenz-space-3); }
  .kenz-offer-teaser--booklet > input { margin-block-start: var(--kenz-space-1); }
  .kenz-offer-teaser__price, .kenz-offer-teaser--booklet .kenz-offer-included-status { grid-column: 2; justify-self: start; }
}
/* Offer layout and anchor spacing follow the existing site chrome tokens. */
.kenz-offer-teaser__heading { display: grid; gap: 0; }
.kenz-offer-teaser__heading small { font-size: var(--kenz-text-2xs); color: var(--kenz-color-text-muted); }
.kenz-offer-teaser__heading strong { font-family: var(--kenz-font-display); font-size: var(--kenz-text-sm); color: var(--kenz-text-heading); }
.kenz-offer-compact > a:hover strong { text-decoration: underline; }
#course-purchase { scroll-margin-block-start: calc(var(--kenz-purchase-sticky-top) + var(--wp-admin--admin-bar--height, 0px) + var(--kenz-space-4)); }
#course-offers { scroll-margin-block-start: calc(var(--kenz-purchase-sticky-top) + var(--wp-admin--admin-bar--height, 0px) + var(--kenz-space-4)); }
@media (min-width: 48rem) {
  #course-offers { scroll-margin-block-start: calc(var(--kenz-purchase-sticky-top) + var(--wp-admin--admin-bar--height, 0px) + var(--kenz-space-20) + var(--kenz-space-4)); }
}
/* Image-free catalog bundles: one contents list and a compact purchase area. */
.kenz-catalog-bundle { margin-block-end: var(--kenz-space-8); color: var(--kenz-color-text); }
.kenz-catalog-bundle__intro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--kenz-space-2) var(--kenz-space-4); margin-block-end: var(--kenz-space-4); }
.kenz-catalog-bundle__skip { display: inline-flex; align-items: center; gap: var(--kenz-space-2); min-block-size: var(--kenz-control-height); color: var(--kenz-color-primary); font-size: var(--kenz-text-sm); }
.kenz-catalog-bundle__skip svg { inline-size: var(--kenz-space-4); block-size: var(--kenz-space-4); }
.kenz-catalog-bundle__grid { display: grid; gap: var(--kenz-space-6); padding-block-start: var(--kenz-space-3); }
.kenz-catalog-bundle__card { position: relative; display: flex; flex-direction: column; gap: var(--kenz-space-4); min-inline-size: 0; padding: var(--kenz-space-5); padding-block-start: var(--kenz-space-6); border: var(--kenz-card-border); border-color: var(--kenz-color-primary-alpha-20); border-radius: var(--kenz-card-radius); background: var(--kenz-color-primary-soft); }
.kenz-catalog-bundle__badge { position: absolute; inset-inline-start: var(--kenz-space-5); inset-block-start: 0; transform: translateY(-50%); padding: var(--kenz-space-1) var(--kenz-space-3); border-radius: var(--kenz-chip-radius); background: var(--kenz-offer-ribbon-bg); color: var(--kenz-offer-ribbon-text); font-size: var(--kenz-text-xs); font-weight: 700; }
.kenz-catalog-bundle :is(h2, h3) { margin: 0; font-family: var(--kenz-font-display); font-size: var(--kenz-text-xl); color: var(--kenz-text-heading); }
.kenz-catalog-bundle h3 a { color: inherit; text-decoration: none; }
.kenz-catalog-bundle h3 a:hover { text-decoration: underline; }
.kenz-catalog-bundle__body, .kenz-catalog-bundle__head { display: grid; gap: var(--kenz-space-3); min-inline-size: 0; align-content: start; }
.kenz-catalog-bundle__head { gap: var(--kenz-space-1); }
.kenz-catalog-bundle__meta, .kenz-catalog-bundle__summary { font-size: var(--kenz-text-sm); color: var(--kenz-color-text-muted); margin: 0; }
.kenz-catalog-bundle__count { display: inline-block; font-size: var(--kenz-text-sm); color: var(--kenz-color-primary); background: var(--kenz-color-primary-soft); padding: var(--kenz-space-1) var(--kenz-space-3); border-radius: var(--kenz-chip-radius); vertical-align: middle; }
.kenz-catalog-bundle__contents-label { margin: 0 0 var(--kenz-space-2); font-size: var(--kenz-text-xs); color: var(--kenz-color-text-muted); }
.kenz-catalog-bundle__items { margin: 0; font-size: var(--kenz-text-sm); }
.kenz-catalog-bundle__purchase { margin-block-start: auto; border-block-start: var(--kenz-card-border); padding-block-start: var(--kenz-space-4); display: grid; gap: var(--kenz-space-3); min-inline-size: 0; }
.kenz-catalog-bundle__purchase p { margin: 0; }
.kenz-catalog-bundle__pricing { display: grid; justify-items: start; gap: var(--kenz-space-1); }
.kenz-catalog-bundle__price-values del, .kenz-catalog-bundle__ownership { color: var(--kenz-color-text-muted); font-size: var(--kenz-text-xs); }
.kenz-catalog-bundle__price { display: flex; align-items: end; gap: var(--kenz-space-3); flex-wrap: wrap; }
.kenz-catalog-bundle__price > span:first-child { padding-block-end: var(--kenz-space-1); font-size: var(--kenz-text-sm); color: var(--kenz-color-text-muted); }
.kenz-catalog-bundle__price-values { display: flex; align-items: baseline; gap: var(--kenz-space-2); }
.kenz-catalog-bundle__price-values strong { font-size: var(--kenz-font-size-32); color: var(--kenz-color-primary); }
.kenz-catalog-bundle .kenz-offer-saving { font-size: var(--kenz-text-xs); }
.kenz-catalog-bundle .woocommerce-Price-amount { display: inline-block; direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
.kenz-catalog-bundle del .woocommerce-Price-amount { text-decoration: line-through; }
.kenz-catalog-bundle .kenz-button { border: var(--kenz-line-thin) solid var(--kenz-color-primary); display: inline-flex; min-height: var(--kenz-control-height); padding: var(--kenz-space-3) var(--kenz-space-5); align-items: center; justify-content: center; border-radius: var(--kenz-control-radius); background: var(--kenz-color-primary); color: var(--kenz-white); text-decoration: none; font-weight: 700; }
.kenz-catalog-bundle .kenz-button:hover { background: var(--kenz-color-primary-hover); }
.kenz-catalog-bundle :focus-visible { outline: var(--kenz-focus-width) solid var(--kenz-color-focus); outline-offset: var(--kenz-space-1); }
@media (min-width: 48rem) {
  .kenz-catalog-bundle__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kenz-catalog-bundle__card:only-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--kenz-space-6); }
  .kenz-catalog-bundle__card:only-child .kenz-catalog-bundle__purchase { margin-block-start: 0; padding-block-start: 0; padding-inline-start: var(--kenz-space-6); border-block-start: 0; border-inline-start: var(--kenz-card-border); align-content: center; }
}
