/* ProBPR FOLIO Digital — theme presentation layer.
 * Business behaviour remains in the shared provider-site templates/services.
 * Only the approved FOLIO Digital v2 homepage CSS is carried from the visual prototype.
 */
@import url("https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,400..600;1,7..72,400&family=Wix+Madefor+Display:wght@400;500;600;700&family=Wix+Madefor+Text:wght@400;500;600&display=swap");

/* ==========================================================================
   FOLIO Digital · homepage v2 (index.html, .probpr-site-layout-folio)
   Premium digital editorial: large type, the provider colour as a stage,
   posters as objects, strong purchase moments.
   Homepage presentation layer carried into the production FOLIO theme;
   catalogue/event behaviour remains in canonical ProBPR shared templates.

   1 Tokens        5 Programme cards     9 Reviews
   2 Base          6 Offers: packages   10 About, closer
   3 Buttons       7 Offers: status     11 Footer
   4 Hero          8 Lecturers          12 Motion
   ========================================================================== */

/* 1 Tokens ----------------------------------------------------------------- */
.probpr-site-layout-folio {
  --fd-canvas: #FFFFFF;
  --fd-soft: #F3F4F7;
  --fd-ink: #0C0F17;
  --fd-ink-2: #2B3140;
  --fd-muted: #5D6474;
  --fd-line: #E4E6EC;
  --fd-ink-surface: #171C29;
  --fd-ink-line: rgba(255, 255, 255, .14);
  --fd-on-ink: #EEF1F7;
  --fd-on-ink-muted: #A8B0C2;

  /* Provider palette — sample values. ProBPR overrides --fd-accent, --fd-accent-hover
     and --fd-on-accent with contrast-checked colours; the tints below derive from them. */
  --fd-accent: #2B50E8;
  --fd-accent-hover: #1E3BBF;
  --fd-on-accent: #FFFFFF;
  --fd-accent-soft: color-mix(in oklab, var(--fd-accent) 9%, #F5F6F9);
  --fd-accent-soft-2: color-mix(in oklab, var(--fd-accent) 16%, #F1F2F6);
  --fd-accent-deep: color-mix(in oklab, var(--fd-accent) 52%, #03050C);
  --fd-accent-lit: color-mix(in oklab, var(--fd-accent) 70%, #FFFFFF);
  --fd-accent-on-dark: color-mix(in oklab, var(--fd-accent) 50%, #FFFFFF);

  --fd-ok: #13794A;
  --fd-ok-on-dark: #72DBA8;
  --fd-warn: #8A5300;

  --fd-display: "Wix Madefor Display", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --fd-text: "Wix Madefor Text", "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  --fd-serif: "Literata", Georgia, "Times New Roman", serif;

  --fd-max: 1320px;
  --fd-gutter: clamp(20px, 5vw, 72px);
  --fd-edge: max(var(--fd-gutter), (100vw - var(--fd-max)) / 2);
  --fd-gap: clamp(16px, 2vw, 28px);
  --fd-section: clamp(88px, 10vw, 168px);
  --fd-header-h: 68px;
  --fd-ease: cubic-bezier(.2, .7, .1, 1);
  --fd-shadow-object:
    0 2px 4px rgba(12, 15, 23, .10),
    0 18px 36px -14px rgba(12, 15, 23, .32),
    0 50px 90px -40px rgba(12, 15, 23, .45);

  margin: 0;
  overflow-x: clip;
  background: var(--fd-canvas);
  color: var(--fd-ink);
  font: 400 1.0625rem/1.6 var(--fd-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (min-width: 1100px) {
  .probpr-site-layout-folio { --fd-header-h: 84px; }
}

/* matches the FOLIO header bar (--fd-header-h); html cannot read the token set on .probpr-site */
html:has(body.probpr-site-body-layout-folio) { scroll-padding-top: 68px; }
@media (min-width: 1100px) {
  html:has(body.probpr-site-body-layout-folio) { scroll-padding-top: 84px; }
}

/* 2 Base ------------------------------------------------------------------- */
.probpr-site-layout-folio :focus-visible { outline: 3px solid var(--fd-accent); outline-offset: 3px; }
.fd-offers :focus-visible,
.fd-footer :focus-visible { outline-color: var(--fd-accent-on-dark); }
.fd-closer :focus-visible { outline-color: var(--fd-on-accent); }

.fd-wrap {
  width: 100%;
  max-width: calc(var(--fd-max) + 2 * var(--fd-gutter));
  margin-inline: auto;
  padding-inline: var(--fd-gutter);
}

.fd-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* 3 Buttons, links --------------------------------------------------------- */
.fd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 26px;
  border: 1.5px solid transparent;
  border-radius: 12px;
  font: 600 1rem/1.2 var(--fd-text);
  letter-spacing: -.005em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition:
    background-color .25s var(--fd-ease),
    border-color .25s var(--fd-ease),
    color .25s var(--fd-ease),
    box-shadow .25s var(--fd-ease),
    transform .25s var(--fd-ease);
}
.fd-btn:hover { transform: translateY(-2px); }
.fd-btn:active { transform: translateY(0); }
.fd-btn--lg { min-height: 60px; padding: 16px 32px; border-radius: 14px; font-size: 1.0625rem; }
.fd-btn--sm { min-height: 44px; padding: 10px 18px; border-radius: 10px; font-size: .9375rem; }
.fd-btn--block { width: 100%; }
.fd-btn--primary {
  background: var(--fd-accent);
  color: var(--fd-on-accent);
  box-shadow: 0 12px 26px -14px color-mix(in oklab, var(--fd-accent) 80%, transparent);
}
.fd-btn--primary:hover {
  background: var(--fd-accent-hover);
  box-shadow: 0 18px 34px -16px color-mix(in oklab, var(--fd-accent) 85%, transparent);
}
.fd-btn--dark { background: var(--fd-ink); color: #FFFFFF; }
.fd-btn--dark:hover { background: var(--fd-ink-2); }
.fd-btn--ghost { border-color: var(--fd-ink); background: transparent; color: var(--fd-ink); }
.fd-btn--ghost:hover { background: var(--fd-ink); color: #FFFFFF; }
.fd-btn--light { background: #FFFFFF; color: var(--fd-ink); }
.fd-btn--light:hover { box-shadow: 0 18px 34px -18px rgba(0, 0, 0, .55); }
.fd-btn--ghost-light { border-color: rgba(255, 255, 255, .45); background: transparent; color: #FFFFFF; }
.fd-btn--ghost-light:hover { border-color: #FFFFFF; background: #FFFFFF; color: var(--fd-ink); }

.fd-textlink {
  padding-bottom: 3px;
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 2px no-repeat;
  color: inherit;
  font-weight: 600;
  text-decoration: none;
  transition: background-size .35s var(--fd-ease);
}
.fd-textlink:hover { background-position: 100% 100%; background-size: 0% 2px; }

/* 4 Hero ------------------------------------------------------------------- */
/* The header is the shared parts/header.php: see "Shared header → FOLIO header" below. */

/* Hero: statement on the left, the nearest event staged on the right */
.fd-hero { position: relative; }
.fd-hero__grid { display: grid; }
.fd-hero__copy { min-width: 0; padding-block: clamp(40px, 7vw, 104px) clamp(48px, 7vw, 96px); }
.fd-hero__id {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--fd-ink-2);
  font: 500 .9375rem/1.4 var(--fd-text);
}
.fd-hero__id::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--fd-accent); }
.fd-hero__title {
  margin-top: 24px;
  font: 600 clamp(3.25rem, 1rem + 6vw, 6.75rem)/.92 var(--fd-display);
  letter-spacing: -.045em;
  overflow-wrap: break-word;
  /* real provider titles: hyphenate long Ukrainian words (html lang) instead of cutting them mid-word at 360–430px */
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: balance;
}
.fd-hero__title.is-long { font-size: clamp(2.5rem, 1rem + 4.4vw, 5.25rem); line-height: .96; letter-spacing: -.04em; }
.fd-hero__title.is-xlong { font-size: clamp(2.125rem, 1.1rem + 2.9vw, 4.25rem); line-height: 1.02; letter-spacing: -.032em; }
.fd-hero__lead {
  max-width: 28em;
  margin-top: 28px;
  color: var(--fd-ink-2);
  font: 400 clamp(1.125rem, 1rem + .5vw, 1.4375rem)/1.5 var(--fd-text);
  text-wrap: pretty;
}
.fd-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-top: 40px; }
.fd-hero__facts { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 44px; color: var(--fd-muted); font-size: .9375rem; }
.fd-hero__facts .fd-textlink { color: var(--fd-ink); }

.fd-feature { position: relative; display: flex; flex-direction: column; min-width: 0; }
.fd-feature__stage {
  position: relative;
  display: grid;
  place-items: center;
  height: clamp(420px, 116vw, 600px);
  margin-inline: calc(-1 * var(--fd-gutter));
  padding: 40px var(--fd-gutter) 132px;
  overflow: hidden;
  background:
    radial-gradient(80% 65% at 70% 22%, var(--fd-accent-lit) 0%, transparent 62%),
    linear-gradient(165deg, var(--fd-accent) 10%, var(--fd-accent-deep) 100%);
}
.fd-feature__object {
  position: relative;
  z-index: 1;
  display: block;
  transform: rotate(-4deg);
  transition: transform .7s var(--fd-ease);
}
.fd-feature:hover .fd-feature__object { transform: rotate(-2deg) translateY(-6px); }

/* Poster as an object: natural proportions, never cropped */
.fd-poster {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  border-radius: 6px;
  box-shadow: var(--fd-shadow-object);
}
.fd-feature .fd-poster { max-width: min(80vw, 380px); max-height: 280px; }

/* Cover: the typographic object used when an event has no poster */
.fd-cover {
  container-type: inline-size;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: min(64vw, 300px);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 6px;
  background: #FFFFFF;
  color: var(--fd-ink);
  box-shadow: var(--fd-shadow-object);
}
.fd-cover__type { color: var(--fd-ink-2); font: 600 max(10px, 5.2cqi)/1.2 var(--fd-text); }
.fd-cover__date { display: grid; }
.fd-cover__date b {
  overflow: hidden;
  color: var(--fd-accent);
  font: 600 40cqi/.84 var(--fd-display);
  letter-spacing: -.06em;
  font-variant-numeric: lining-nums;
  white-space: nowrap;
}
.fd-cover__date b.is-range { font-size: 23cqi; letter-spacing: -.045em; }
.fd-cover__date span { margin-top: 3cqi; font: 600 8.5cqi/1.1 var(--fd-display); letter-spacing: -.02em; }
.fd-cover__by {
  display: -webkit-box;
  overflow: hidden;
  color: var(--fd-muted);
  font: 500 max(10px, 4.6cqi)/1.3 var(--fd-text);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
/* spacing in the cover's own units, so it scales with the cover wherever it sits */
.fd-cover > * { margin-inline: 9cqi; }
.fd-cover > :first-child { margin-top: 9cqi; }
.fd-cover > :last-child { margin-bottom: 10cqi; }
/* no date (e-courses): the format becomes the cover word */
.fd-cover:not(:has(.fd-cover__date)) .fd-cover__type {
  margin-block: auto;
  color: var(--fd-accent);
  font: 600 13cqi/1.02 var(--fd-display);
  letter-spacing: -.04em;
  overflow-wrap: break-word;
  hyphens: auto;
}
.fd-feature .fd-cover { width: min(54vw, 240px); }

.fd-ticket {
  position: relative;
  z-index: 2;
  margin: -104px 0 0;
  padding: 24px;
  border-radius: 20px;
  background: #FFFFFF;
  box-shadow: 0 2px 6px rgba(12, 15, 23, .06), 0 32px 64px -32px rgba(12, 15, 23, .5);
}
.fd-ticket__label { display: inline-flex; align-items: center; gap: 8px; color: var(--fd-accent); font: 600 .875rem/1.3 var(--fd-text); }
.fd-ticket__label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.fd-ticket__when { margin-top: 14px; font: 600 1rem/1.4 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }
.fd-ticket__title {
  display: -webkit-box;
  margin-top: 6px;
  overflow: hidden;
  font: 600 clamp(1.25rem, 1.1rem + .5vw, 1.5rem)/1.22 var(--fd-display);
  letter-spacing: -.02em;
  overflow-wrap: break-word;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.fd-ticket__link { color: var(--fd-ink); text-decoration: none; }
.fd-ticket__link:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .16em; }
.fd-ticket__meta { margin-top: 8px; color: var(--fd-muted); font-size: .9375rem; }
/* closed featured event: real availability notice, muted object (as .fd-card.is-muted) */
.fd-ticket__status { margin-top: 10px; color: var(--fd-muted); font: 600 .875rem/1.35 var(--fd-text); }
.fd-feature.is-closed .fd-poster,
.fd-feature.is-closed .fd-cover { filter: grayscale(1); opacity: .65; }
.fd-ticket__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--fd-line);
}
.fd-ticket > .fd-btn { margin-top: 20px; }

@media (max-width: 599px) {
  .fd-hero__actions .fd-btn { flex: 1 1 100%; }
}

@media (min-width: 1100px) {
  .fd-hero__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--fd-gap);
    min-height: clamp(700px, calc(100svh - var(--fd-header-h)), 960px);
  }
  .fd-hero__copy { grid-column: 1 / span 6; align-self: center; padding-block: 64px; padding-right: 32px; }
  /* no upcoming event: the statement takes the width */
  .fd-hero__grid:not(:has(> .fd-feature)) { min-height: 0; }
  .fd-hero__grid:not(:has(> .fd-feature)) .fd-hero__copy { grid-column: 1 / span 10; }
  .fd-feature { grid-column: 7 / span 6; display: block; }
  .fd-feature__stage {
    position: absolute;
    inset: 0 calc(-1 * var(--fd-edge)) 0 0;
    height: auto;
    margin: 0;
    place-items: start end;
    padding: clamp(56px, 8vh, 88px) max(40px, var(--fd-edge) - 140px) 168px 12%;
    border-radius: 36px 0 0 36px;
  }
  .fd-feature .fd-poster { max-width: min(28vw, 540px); max-height: min(520px, 58vh); }
  .fd-feature .fd-cover { width: min(24vw, 340px); }
  .fd-ticket {
    position: absolute;
    left: -40px;
    bottom: clamp(40px, 6vh, 72px);
    width: clamp(300px, 26vw, 360px);
    margin: 0;
    padding: 28px;
  }
}

/* 5 Programme cards -------------------------------------------------------- */
.fd-section { padding-block: var(--fd-section); }
/* Two plain canvas sections in a row (e.g. no offers band between programme and lecturers):
   one gap, not two paddings added together. */
.fd-section:not(.fd-reviews) + .fd-section:not(.fd-reviews) { padding-top: 0; }

.fd-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px 48px;
  margin-bottom: clamp(36px, 4.5vw, 72px);
}
.fd-head__title {
  max-width: 11em;
  font: 600 clamp(2.5rem, 1.2rem + 3.9vw, 5.75rem)/.95 var(--fd-display);
  letter-spacing: -.042em;
  overflow-wrap: break-word;
  text-wrap: balance;
}
.fd-head__side { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.fd-head__text { max-width: 21em; color: var(--fd-muted); font-size: 1rem; line-height: 1.5; }

/* Phones: a swipeable row with the next card peeking. Tablet and desktop: a grid. */
.fd-cards {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: min(84%, 360px);
  gap: 16px;
  margin-inline: calc(-1 * var(--fd-gutter));
  padding: 4px var(--fd-gutter) 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--fd-gutter);
  scrollbar-width: none;
}
.fd-cards::-webkit-scrollbar { display: none; }
.fd-card { scroll-snap-align: start; }

@media (min-width: 760px) {
  .fd-cards {
    grid-auto-flow: row;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-columns: auto;
    gap: 56px var(--fd-gap);
    margin-inline: 0;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }
}
@media (min-width: 1100px) {
  .fd-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 72px var(--fd-gap); }
}

.fd-card { position: relative; display: flex; flex-direction: column; min-width: 0; }
.fd-card__stage {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1 / 1.04;
  overflow: hidden;
  border-radius: 20px;
  background: var(--fd-accent-soft);
  text-decoration: none;
  transition: background-color .5s var(--fd-ease);
}
.fd-card__stage .fd-poster {
  max-width: 84%;
  max-height: 76%;
  transform: rotate(-2.5deg);
  transition: transform .7s var(--fd-ease), box-shadow .7s var(--fd-ease);
}
.fd-card__stage .fd-cover { width: 54%; transform: rotate(-2.5deg); transition: transform .7s var(--fd-ease); }
.fd-card:hover .fd-card__stage { background: var(--fd-accent-soft-2); }
.fd-card:hover .fd-card__stage .fd-poster,
.fd-card:hover .fd-card__stage .fd-cover { transform: rotate(0deg) translateY(-8px) scale(1.035); }
.fd-card:hover .fd-card__stage .fd-poster {
  box-shadow:
    0 2px 4px rgba(12, 15, 23, .10),
    0 26px 48px -16px rgba(12, 15, 23, .38),
    0 64px 100px -40px rgba(12, 15, 23, .48);
}

.fd-card__date {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 1;
  display: grid;
  justify-items: center;
  min-width: 64px;
  padding: 10px 12px 9px;
  border-radius: 14px;
  background: #FFFFFF;
  color: var(--fd-ink);
  box-shadow: 0 8px 20px -12px rgba(12, 15, 23, .45);
}
.fd-card__date b { font: 600 1.75rem/1 var(--fd-display); letter-spacing: -.04em; font-variant-numeric: lining-nums; white-space: nowrap; }
.fd-card__date b.is-range { font-size: 1.25rem; letter-spacing: -.02em; }
.fd-card__date span { margin-top: 3px; color: var(--fd-muted); font: 600 .75rem/1.2 var(--fd-text); }
.fd-card__date.is-text { min-width: 0; padding: 9px 12px; font: 600 .8125rem/1.2 var(--fd-text); }
/* a cover already carries the date in large type */
.fd-card__stage:has(.fd-cover__date) .fd-card__date { display: none; }
.fd-card__flag {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 1;
  padding: 8px 12px;
  border-radius: 12px;
  background: var(--fd-ink);
  color: #FFFFFF;
  font: 700 .875rem/1 var(--fd-text);
}

.fd-card__body { display: flex; flex: 1; flex-direction: column; padding-top: 22px; }
.fd-card__meta { display: flex; flex-wrap: wrap; gap: 4px 0; color: var(--fd-muted); font: 500 .875rem/1.35 var(--fd-text); }
.fd-card__meta span + span::before { content: "·"; margin-inline: 8px; }
.fd-card__title {
  display: -webkit-box;
  margin-top: 10px;
  overflow: hidden;
  font: 600 clamp(1.25rem, 1.12rem + .4vw, 1.5rem)/1.22 var(--fd-display);
  letter-spacing: -.02em;
  overflow-wrap: break-word;
  hyphens: auto;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.fd-card__link { color: var(--fd-ink); text-decoration: none; }
.fd-card__link::after { content: ""; position: absolute; inset: 0; border-radius: 22px; }
.fd-card__link:focus-visible { outline: none; }
.fd-card__link:focus-visible::after { outline: 3px solid var(--fd-accent); outline-offset: 6px; }
.fd-card:hover .fd-card__link { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .16em; }
.fd-card__when {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-top: 12px;
  color: var(--fd-ink-2);
  font-size: .9375rem;
  font-variant-numeric: lining-nums tabular-nums;
}
.fd-card__when span { color: var(--fd-muted); }
.fd-card__topic { margin-top: 8px; color: var(--fd-muted); font-size: .875rem; line-height: 1.45; }
.fd-card__status { margin-top: 10px; color: var(--fd-ink-2); font: 600 .875rem/1.35 var(--fd-text); }
.fd-card__status.is-info { color: var(--fd-accent); }
.fd-card__status.is-warn { color: var(--fd-warn); }
.fd-card__status.is-muted { color: var(--fd-muted); }
.fd-card__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 22px;
}
.fd-card.is-muted .fd-card__stage { background: var(--fd-soft); }
.fd-card.is-muted .fd-poster,
.fd-card.is-muted .fd-cover { filter: grayscale(1); opacity: .65; }
.fd-card.is-muted .fd-card__link { color: var(--fd-ink-2); }

/* BPR and price, shared by the ticket and the cards */
.fd-bpr { display: flex; align-items: center; gap: 10px; }
.fd-bpr b { font: 600 2.25rem/1 var(--fd-display); letter-spacing: -.04em; font-variant-numeric: lining-nums tabular-nums; }
.fd-bpr span { display: grid; max-width: 7em; color: var(--fd-ink-2); font: 500 .8125rem/1.25 var(--fd-text); }
.fd-bpr em { color: var(--fd-warn); font-style: normal; font-weight: 600; }
.fd-bpr.is-pending b { color: var(--fd-muted); }
.fd-bpr.is-none { color: var(--fd-muted); font-size: .9375rem; }

.fd-price { display: grid; justify-items: end; gap: 2px; text-align: right; }
.fd-price__amount {
  font: 600 1.5rem/1.1 var(--fd-display);
  letter-spacing: -.02em;
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
}
.fd-price__regular { color: var(--fd-muted); font-size: .9375rem; white-space: nowrap; }
.fd-price.is-sale .fd-price__amount { color: var(--fd-accent); }
.fd-price.is-free .fd-price__amount { color: var(--fd-ok); }
.fd-price.is-closed .fd-price__amount { color: var(--fd-muted); font-size: 1.0625rem; font-weight: 500; letter-spacing: 0; }

/* 6 Offers: packages ------------------------------------------------------- */
.fd-offers { padding-block: var(--fd-section); background: var(--fd-ink); color: var(--fd-on-ink); }
.fd-offers .fd-head__title { color: #FFFFFF; }
.fd-offers .fd-head__text { color: var(--fd-on-ink-muted); }
.fd-offers__grid { display: grid; gap: clamp(56px, 6vw, 72px) var(--fd-gap); }
.fd-offers__packs { display: grid; gap: var(--fd-gap); min-width: 0; }

@media (min-width: 1100px) {
  .fd-offers__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
  .fd-offers__packs { grid-column: 1 / span 7; }
  .fd-member { grid-column: 9 / span 4; }
}

/* 7 Offers: special status as a member card ------------------------------- */
.fd-member { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; color: var(--fd-on-ink); }
.fd-member__card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: 100%;
  max-width: 440px;
  aspect-ratio: 1.586 / 1;
  padding: clamp(18px, 2vw, 26px);
  overflow: hidden;
  border-radius: 22px;
  background: var(--fd-accent);
  color: var(--fd-on-accent);
  box-shadow: 0 46px 80px -36px rgba(0, 0, 0, .8), inset 0 0 0 1px rgba(255, 255, 255, .12);
  transform: rotate(-3deg);
  transition: transform .7s var(--fd-ease);
}
.fd-member__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(118deg, transparent 58%, rgba(255, 255, 255, .16) 70%, transparent 82%);
  pointer-events: none;
}
.fd-member:hover .fd-member__card { transform: rotate(-1deg) translateY(-6px); }
.fd-member__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.fd-member__label { min-width: 0; font: 600 .9375rem/1.3 var(--fd-text); overflow-wrap: anywhere; }
.fd-member__logo { flex: none; width: 42px; height: 42px; border-radius: 12px; object-fit: cover; background: #FFFFFF; }
.fd-member__name {
  display: -webkit-box;
  align-self: end;
  overflow: hidden;
  font: 600 1.0625rem/1.2 var(--fd-display);
  letter-spacing: -.01em;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.fd-member__term { margin-top: 6px; font: 500 .875rem/1.3 var(--fd-text); }
.fd-member__title {
  margin-top: 48px;
  color: #FFFFFF;
  font: 600 clamp(1.5rem, 1.2rem + .9vw, 2rem)/1.14 var(--fd-display);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.fd-member__text { margin-top: 12px; color: var(--fd-on-ink-muted); line-height: 1.55; }
.fd-member__terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; width: 100%; margin-top: 24px; }
.fd-member__terms dt { color: var(--fd-on-ink-muted); font-size: .875rem; }
.fd-member__terms dd {
  margin-top: 4px;
  color: #FFFFFF;
  font: 600 1.375rem/1.2 var(--fd-display);
  letter-spacing: -.015em;
  font-variant-numeric: lining-nums tabular-nums;
  overflow-wrap: anywhere;
}
.fd-member > .fd-btn { margin-top: 28px; }
.fd-member__more { margin-top: 18px; color: #FFFFFF; }

/* 8 Lecturers -------------------------------------------------------------- */
.fd-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 16px; }
@media (min-width: 760px) {
  .fd-people { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; }
}
@media (min-width: 1100px) {
  .fd-people { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 64px var(--fd-gap); }
}
/* Home: one row of four (the full list is on the lecturers page); compact square photos on phones */
@media (min-width: 760px) { .fd-people.fd-people--home { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 759px) { .fd-people--home .fd-person__photo { aspect-ratio: 1 / 1; } }
.fd-person { min-width: 0; }
.fd-person a { display: block; color: var(--fd-ink); text-decoration: none; }
.fd-person__photo {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 20px;
  background: var(--fd-accent-soft);
}
.fd-person__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 22%;
  transition: transform .9s var(--fd-ease);
}
.fd-person__initials {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--fd-accent);
  font: 600 clamp(3rem, 1.8rem + 3.4vw, 5.5rem)/1 var(--fd-display);
  letter-spacing: -.05em;
  transition: transform .9s var(--fd-ease);
}
.fd-person a:hover img,
.fd-person a:hover .fd-person__initials { transform: scale(1.05); }
.fd-person__name {
  display: block;
  margin-top: 18px;
  font: 600 clamp(1.125rem, 1rem + .4vw, 1.375rem)/1.22 var(--fd-display);
  letter-spacing: -.018em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.fd-person__role { display: block; margin-top: 6px; color: var(--fd-muted); font-size: .9375rem; line-height: 1.45; overflow-wrap: break-word; }
.fd-person a:hover .fd-person__name { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .16em; }

/* 9 Reviews ---------------------------------------------------------------- */
.fd-reviews { background: var(--fd-accent-soft); }
.fd-quotes { display: grid; gap: var(--fd-gap); }
@media (min-width: 1100px) {
  .fd-quotes { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .fd-quote:first-of-type { grid-row: span 2; }
  .fd-quote:only-of-type { grid-column: 1 / -1; }
}
.fd-quote {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  border-radius: 24px;
  background: #FFFFFF;
}
.fd-quote:first-of-type { padding: clamp(28px, 4vw, 56px); }
.fd-quote__rating { color: var(--fd-accent); font-size: 1rem; letter-spacing: .12em; }
.fd-quote__text { font: 400 1.1875rem/1.55 var(--fd-serif); quotes: "«" "»"; overflow-wrap: break-word; }
.fd-quote:first-of-type .fd-quote__text { font-size: clamp(1.5rem, 1.1rem + 1.3vw, 2.375rem); line-height: 1.34; letter-spacing: -.01em; }
.fd-quote__text p::before { content: open-quote; }
.fd-quote__text p::after { content: close-quote; }
.fd-quote__by { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: auto; font-size: .9375rem; }
.fd-quote__by b { font-weight: 600; }
.fd-quote__by span { color: var(--fd-muted); }

/* 10 Closer ---------------------------------------------------------------- */
.fd-closer { padding-block: clamp(96px, 12vw, 200px); background: var(--fd-accent); color: var(--fd-on-accent); }
.fd-closer__inner { display: grid; gap: 40px; }
.fd-closer__title {
  max-width: 10em;
  font: 600 clamp(3rem, 1.3rem + 5.8vw, 8.25rem)/.92 var(--fd-display);
  letter-spacing: -.045em;
  text-wrap: balance;
}
.fd-closer__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 36px; }
.fd-closer .fd-textlink { color: var(--fd-on-accent); }
@media (min-width: 1100px) {
  .fd-closer__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .fd-closer__actions { flex-direction: column; align-items: flex-start; gap: 22px; }
}
@media (max-width: 599px) {
  .fd-closer__actions .fd-btn { flex: 1 1 100%; }
}

/* 11 Footer ---------------------------------------------------------------- */
.fd-footer {
  padding: clamp(72px, 8vw, 120px) 0 calc(32px + env(safe-area-inset-bottom, 0px));
  background: var(--fd-ink);
  color: var(--fd-on-ink-muted);
  font-size: .9375rem;
}
.fd-footer__top { display: grid; gap: 48px; }
@media (min-width: 760px) {
  .fd-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fd-footer__brand { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
  /* production footer: brand + contacts + documents (no repeated site navigation) */
  .fd-footer__top { grid-template-columns: minmax(0, 1.7fr) repeat(2, minmax(0, 1fr)); gap: 56px; }
  .fd-footer__brand { grid-column: auto; }
}
.fd-footer__name {
  color: #FFFFFF;
  font: 600 clamp(1.75rem, 1.25rem + 1.5vw, 2.75rem)/1.06 var(--fd-display);
  letter-spacing: -.03em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.fd-footer__id { margin-top: 14px; }
.fd-footer__text { max-width: 26em; margin-top: 10px; }
.fd-footer__cert { display: inline-block; margin-top: 22px; color: #FFFFFF; }
.fd-footer__heading { margin-bottom: 16px; color: #FFFFFF; font: 600 .9375rem/1.3 var(--fd-text); }
.fd-footer ul { display: grid; gap: 10px; }
.fd-footer ul a { color: var(--fd-on-ink); text-decoration: none; overflow-wrap: anywhere; }
.fd-footer ul a:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: .2em; }
.fd-footer__col { min-width: 0; }
.fd-footer__meta { overflow-wrap: anywhere; }
.fd-footer__base {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 32px;
  margin-top: 72px;
  padding-top: 24px;
  border-top: 1px solid var(--fd-ink-line);
  font-size: .875rem;
}
.fd-footer__base a { color: var(--fd-on-ink); }
/* ProBPR attribution (same link and UTM as the shared footer) */
.fd-footer__platform { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.probpr-site-layout-folio .fd-footer__platform a { display: inline-flex; align-items: center; gap: 10px; color: var(--fd-on-ink); text-decoration: none; }
.probpr-site-layout-folio .fd-footer__platform a:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: .2em; }
.fd-footer__platform img { flex: none; width: 20px; height: 20px; border-radius: 5px; }
.probpr-site-layout-folio .fd-footer__platform .fd-footer__platform-promo { color: var(--fd-on-ink-muted); }
/* floating support launcher (bottom right): keep the last row clear of it on narrow screens */
@media (max-width: 1099px) {
  .probpr-site-layout-folio:has(.probpr-inbox-customer--floating) .fd-footer__base { padding-bottom: 72px; }
}
/* the cart dock reserves space with body padding-bottom; let that strip continue the footer surface */
body.probpr-site-body-layout-folio.probpr-site-body-has-cart-dock { background: #0C0F17; } /* = --fd-ink (tokens live on .probpr-site) */
@media (min-width: 1100px) {
  /* keeps the base line clear of the floating support launcher */
  .fd-footer__base { padding-right: 220px; }
}

/* 12 Motion: one load sequence in the hero, hover depth elsewhere ---------- */
@media (prefers-reduced-motion: no-preference) {
  .fd-hero__copy > * { animation: fd-rise .9s var(--fd-ease) backwards; }
  .fd-hero__copy > :nth-child(2) { animation-delay: .06s; }
  .fd-hero__copy > :nth-child(3) { animation-delay: .12s; }
  .fd-hero__copy > :nth-child(4) { animation-delay: .18s; }
  .fd-hero__copy > :nth-child(5) { animation-delay: .24s; }
  .fd-feature__stage { animation: fd-wipe 1.1s var(--fd-ease) backwards; }
  .fd-feature__object { animation: fd-drop 1.3s var(--fd-ease) .3s backwards; }
  .fd-ticket { animation: fd-rise .9s var(--fd-ease) .55s backwards; }
}

@keyframes fd-rise {
  from { opacity: 0; transform: translateY(28px); }
}
@keyframes fd-wipe {
  from { clip-path: inset(0 0 0 100%); }
  to { clip-path: inset(0 0 0 0); }
}
@keyframes fd-drop {
  from { opacity: 0; transform: rotate(-12deg) translateY(56px); }
}

@media (prefers-reduced-motion: reduce) {
  .probpr-site-layout-folio *,
  .probpr-site-layout-folio *::before,
  .probpr-site-layout-folio *::after { animation: none !important; transition-duration: .01ms !important; }
}



/* ==========================================================================
   ProBPR shared-component bridge
   Keeps header, footer, catalogue, event registration/cart and transactional
   behaviour canonical while presenting them in FOLIO Digital.
   Public-site scope lock (Stage 19): the generic content rules of this bridge
   (shared buttons / forms, page head, filters, event cards, pagination, empty state,
   event detail, responsive bridge) apply only to public pages. They are prefixed
   .probpr-site-layout-folio:where(:not(:has(<transactional root>))) — :where() keeps
   their specificity exactly as before. Transactional roots: cart section (not the
   package page), payment sections (checkout / result / order received), account
   cabinet, register / account auth wrap, login, Learning Room hero / workspace.
   Header, footer, tokens and the page container stay global site chrome.
   ========================================================================== */

.probpr-site-layout-folio {
  --fd-accent: var(--site-button, #2B50E8);
  --fd-accent-hover: color-mix(in oklab, var(--fd-accent) 82%, #03050C);
  --fd-on-accent: var(--site-button-text, #FFFFFF);
  color: var(--fd-ink);
  background: var(--fd-canvas);
  font-family: var(--fd-text);
}

.probpr-site-body-layout-folio {
  margin: 0;
  overflow-x: clip;
  background: var(--fd-canvas, #fff);
}

.probpr-site-layout-folio .probpr-site-container {
  width: 100%;
  max-width: calc(var(--fd-max) + 2 * var(--fd-gutter));
  margin-inline: auto;
  padding-inline: var(--fd-gutter);
}

/* Shared header → FOLIO header -------------------------------------------- */
/* parts/header.php stays canonical: links, guest / logged-in / payment-return
   states and the auth-state bridge are untouched. This block only presents it.
   provider-site-layout-folio.js (presentation only) adds on the <header>:
     .fd-hmenu      the «Меню» toggle and panel wrapper exist
     .is-fd-flow    wide bar, but the nav cannot be centred on the page
     .is-fd-compact brand + «Меню» (always below 1100px; wider when the bar is too full)
     .is-fd-open    menu panel open
   provider-site.css paints auth buttons with
     background-color / border-color: var(--site-button) !important,
     color: #fff !important (filled) and var(--site-primary) !important (.is-light).
   FOLIO sets those custom properties on the element instead of out-ranking
   them; the four !important declarations below are each explained in place. */

.probpr-site-layout-folio .probpr-site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  border: 0;
  background: var(--fd-canvas);
  color: var(--fd-ink);
  box-shadow: 0 1px 0 var(--fd-line);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-header-inner {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  min-height: var(--fd-header-h);
  padding-block: 0;
  padding-inline: var(--fd-gutter);
}

/* Brand */
.probpr-site-layout-folio .probpr-site-header .probpr-site-brand {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  align-self: center;
  gap: 12px;
  min-width: 0;
  max-width: none;
  margin-right: auto;
  color: var(--fd-ink);
  text-decoration: none;
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-brand img,
.probpr-site-layout-folio .probpr-site-header .probpr-site-brand-mark {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
}
/* Provider logos are not always square: show the whole mark on a quiet tile. */
.probpr-site-layout-folio .probpr-site-header .probpr-site-brand img { object-fit: contain; background: var(--fd-soft); }
.probpr-site-layout-folio .probpr-site-header .probpr-site-brand-mark {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--fd-accent);
  color: var(--fd-on-accent);
  font: 700 1rem/1 var(--fd-display);
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-brand-text { display: block; min-width: 0; }
.probpr-site-layout-folio .probpr-site-header .probpr-site-brand-text strong {
  display: -webkit-box;
  max-width: 28ch;
  overflow: hidden;
  color: var(--fd-ink);
  font: 600 .9375rem/1.2 var(--fd-display);
  letter-spacing: -.01em;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-brand-text small { display: none; }

/* Navigation: reference .fd-nav__link; the current section (.is-active) gets the accent dot */
.probpr-site-layout-folio .probpr-site-header .probpr-site-nav {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  scroll-snap-type: none;
}
/* auto margins centre the links and fall back to start-aligned if they ever overflow */
.probpr-site-layout-folio .probpr-site-header .probpr-site-nav > a:first-child { margin-left: auto; }
.probpr-site-layout-folio .probpr-site-header .probpr-site-nav > a:last-child { margin-right: auto; }
.probpr-site-layout-folio .probpr-site-header .probpr-site-nav a {
  position: relative;
  display: inline-flex;
  flex: none;
  align-items: center;
  min-height: 0;
  padding: 10px 14px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--fd-ink-2);
  font: 500 .9375rem/1.2 var(--fd-text);
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s var(--fd-ease), color .2s var(--fd-ease);
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-nav a.is-active { background: transparent; color: var(--fd-ink); font-weight: 600; }
.probpr-site-layout-folio .probpr-site-header .probpr-site-nav a:hover { background: var(--fd-soft); color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-site-header .probpr-site-nav a.is-active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  border-radius: 50%;
  background: var(--fd-accent);
}

/* Account actions: links stay quiet, the filled shared button is the reference dark button */
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  width: auto;
  min-width: 0;
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav :is(.probpr-site-auth-link, .probpr-site-auth-button) {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 0;
  border-radius: 10px;
  box-shadow: none;
  filter: none;
  font: 500 .9375rem/1.2 var(--fd-text);
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-link {
  padding: 10px 12px;
  border: 0;
  background: transparent;
  color: var(--fd-ink);
  transition: background-color .2s var(--fd-ease);
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-link:hover,
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-link.is-active { background: var(--fd-soft); color: var(--fd-ink); }

/* Filled action («Створити кабінет»; «Кабінет» on a payment return) = fd-btn--dark fd-btn--sm.
   --site-button feeds the shared `background-color / border-color: var(--site-button) !important`;
   the shared `color: #fff !important` is already the right label colour on ink. */
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-button:not(.is-light) {
  --site-button: var(--fd-ink);
  min-height: 44px;
  padding: 10px 18px;
  border: 1.5px solid var(--site-button);
  background: var(--site-button);
  font-weight: 600;
  letter-spacing: -.005em;
  transition: background-color .25s var(--fd-ease), border-color .25s var(--fd-ease), transform .25s var(--fd-ease);
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-button:not(.is-light):hover { --site-button: var(--fd-ink-2); transform: translateY(-2px); }
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-button:not(.is-light):active { transform: translateY(0); }

/* .is-light («Вийти») = reference quiet action link.
   --site-primary feeds the shared `color: var(--site-primary) !important`. */
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-button.is-light {
  --site-primary: var(--fd-ink);
  position: relative;
  isolation: isolate;
  padding: 10px 12px;
  border: 0;
  /* !important 1 of 4 — provider-site.css sets `background: #fff !important` on .is-light;
     the link must stay transparent on the bar and in the dark menu panel. */
  background: transparent !important;
}
/* hover tile drawn underneath, because the background itself is locked by the shared rule */
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-button.is-light::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--fd-soft);
  opacity: 0;
  transition: opacity .2s var(--fd-ease);
}
.probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav .probpr-site-auth-button.is-light:hover::before { opacity: 1; }

/* JS-created pieces: hidden / transparent until the bar is compact */
.probpr-site-layout-folio .fd-hmenu__toggle { display: none; }
.probpr-site-layout-folio .fd-hmenu__panel { display: contents; }

@media (max-width: 680px) {
  /* !important 2–3 of 4 — provider-site.css (v78.20.9.4) forces every container to
     `width: min(100% - 24px, …) !important` and this row to `padding: 14px 0 12px !important`
     here. The FOLIO bar keeps the page gutter so the brand lines up with the hero text. */
  .probpr-site-layout-folio .probpr-site-header .probpr-site-header-inner {
    width: 100% !important;
    padding: 0 var(--fd-gutter) !important;
  }
}

/* Desktop: brand | navigation centred on the page | actions */
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-site-header .probpr-site-header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto) minmax(0, 1fr);
    gap: 32px;
  }
  .probpr-site-layout-folio .probpr-site-header .probpr-site-brand { margin-right: 0; }
  .probpr-site-layout-folio .probpr-site-header .probpr-site-auth-nav { justify-self: end; }
  /* A longer section list that still fits one row: centre it between brand and actions. */
  .probpr-site-layout-folio .probpr-site-header.is-fd-flow .probpr-site-header-inner {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
  }
  /* Without the script a long section list scrolls inside its column instead of breaking the bar. */
  .probpr-site-layout-folio .probpr-site-header:not(.fd-hmenu) .probpr-site-nav {
    overflow-x: auto;
    margin-block: -6px;
    padding-block: 6px;
    scrollbar-width: none;
  }
  .probpr-site-layout-folio .probpr-site-header:not(.fd-hmenu) .probpr-site-nav::-webkit-scrollbar { display: none; }
}

/* Below 1100px before the script runs (or without it): same 68px bar, the brand stays
   put and sections + account links scroll beside it, so nothing shifts when the toggle appears. */
@media (max-width: 1099px) {
  .probpr-site-layout-folio .probpr-site-header:not(.fd-hmenu) .probpr-site-header-inner {
    gap: 4px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .probpr-site-layout-folio .probpr-site-header:not(.fd-hmenu) .probpr-site-header-inner::-webkit-scrollbar { display: none; }
  .probpr-site-layout-folio .probpr-site-header:not(.fd-hmenu) .probpr-site-brand {
    position: sticky;
    left: 0;
    z-index: 1;
    flex: none;
    max-width: min(62%, 320px);
    margin-right: 8px;
    padding-right: 8px;
    background: var(--fd-canvas);
  }
  .probpr-site-layout-folio .probpr-site-header:not(.fd-hmenu) :is(.probpr-site-nav, .probpr-site-auth-nav) { flex: none; }
  .probpr-site-layout-folio .probpr-site-header:not(.fd-hmenu) .probpr-site-nav > a:first-child { margin-left: 0; }
  /* shared CSS forces `display: grid !important` on the logged-in links at ≤680px: keep them in one row */
  .probpr-site-layout-folio .probpr-site-header:not(.fd-hmenu) .probpr-site-auth-nav {
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-auto-columns: max-content;
  }
}

/* Compact bar: brand + «Меню» (reference .fd-menu) */
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .probpr-site-header-inner {
  display: flex;
  gap: 20px;
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .probpr-site-brand { margin-right: auto; }
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__toggle {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0;
  padding: 0 16px;
  border: 0;
  border-radius: 12px;
  background: var(--fd-ink);
  color: #FFFFFF;
  font: 600 .9375rem/1 var(--fd-text);
  cursor: pointer;
  transition: background-color .2s var(--fd-ease);
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__toggle:hover { background: var(--fd-ink-2); }
.probpr-site-layout-folio .fd-hmenu__icon { flex: none; width: 16px; height: 8px; border-block: 2px solid currentColor; }
.probpr-site-layout-folio .fd-hmenu__close { display: none; }
.probpr-site-layout-folio .probpr-site-header.is-fd-open .fd-hmenu__open { display: none; }
.probpr-site-layout-folio .probpr-site-header.is-fd-open .fd-hmenu__close { display: inline; }

/* Menu panel: the same shared nav + account nodes, shown on ink below the bar */
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  flex-direction: column;
  height: calc(100svh - var(--fd-header-h));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 20px var(--fd-edge) calc(28px + env(safe-area-inset-bottom, 0px));
  background: var(--fd-ink);
  color: var(--fd-on-ink);
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact.is-fd-open .fd-hmenu__panel { display: flex; }
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel :focus-visible { outline-color: var(--fd-accent-on-dark); }

.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-nav {
  display: grid;
  gap: 0;
  overflow: visible;
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-nav a {
  display: block;
  margin: 0;
  padding: 8px 0;
  border-radius: 0;
  background: transparent;
  color: #FFFFFF;
  font: 600 clamp(2rem, 7.5vw, 2.75rem)/1.15 var(--fd-display);
  letter-spacing: -.035em;
  white-space: normal;
  overflow-wrap: anywhere;
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-nav a:hover { background: transparent; color: var(--fd-accent-on-dark); }
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-nav a.is-active { color: var(--fd-accent-on-dark); }
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-nav a.is-active::after { display: none; }

.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: row;
  gap: 10px;
  width: auto;
  margin-top: auto;
  padding-top: 36px;
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav :is(.probpr-site-auth-link, .probpr-site-auth-button:not(.is-light)) {
  width: 100%;
  min-height: 52px;
  padding: 14px 26px;
  border-radius: 12px;
  font: 600 1rem/1.2 var(--fd-text);
}
/* «Увійти» / «Кошик» / «Кабінет» = fd-btn--ghost-light */
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav .probpr-site-auth-link {
  border: 1.5px solid rgba(255, 255, 255, .45);
  background: transparent;
  color: #FFFFFF;
  transition: background-color .25s var(--fd-ease), border-color .25s var(--fd-ease), color .25s var(--fd-ease);
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav .probpr-site-auth-link.is-active { border-color: #FFFFFF; background: transparent; color: #FFFFFF; }
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav .probpr-site-auth-link:hover { border-color: #FFFFFF; background: #FFFFFF; color: var(--fd-ink); }
/* filled guest action first, as fd-btn--light */
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav .probpr-site-auth-button:not(.is-light) {
  --site-button: #FFFFFF;
  order: -1;
  /* !important 4 of 4 — provider-site.css forces `color: #fff !important` on filled auth
     buttons; on the white menu button the label must be ink. */
  color: var(--fd-ink) !important;
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav .probpr-site-auth-button:not(.is-light):hover {
  --site-button: #FFFFFF;
  box-shadow: 0 18px 34px -18px rgba(0, 0, 0, .55);
}
/* «Вийти» = fd-menu__quiet text link */
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav .probpr-site-auth-button.is-light {
  --site-primary: var(--fd-on-ink);
  justify-self: start;
  width: auto;
  min-height: 0;
  margin-top: 6px;
  padding: 4px 0;
  border-radius: 0;
  font: 600 1rem/1.2 var(--fd-text);
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .3em;
}
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav .probpr-site-auth-button.is-light::before { display: none; }
.probpr-site-layout-folio .probpr-site-header.is-fd-compact .fd-hmenu__panel .probpr-site-auth-nav .probpr-site-auth-button.is-light:hover { text-decoration-color: transparent; }

/* While the menu is open: no page scroll behind it, and the fixed cart dock / support
   launcher (both inside .probpr-site) do not sit on top of the panel. Visual only. */
html.fd-hmenu-open { overflow: hidden; }
html.fd-hmenu-open .probpr-site-layout-folio :is(.probpr-site-cart-dock, .probpr-inbox-customer--floating) { visibility: hidden; }

/* Shared buttons / forms -------------------------------------------------- */
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) :where(.probpr-site-button, .probpr-site-button-light, .probpr-site-filters button, .probpr-site-auth-form button) {
  min-height: 48px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 12px 22px;
  background: var(--fd-accent);
  color: var(--fd-on-accent);
  font: 600 .875rem/1.2 var(--fd-text);
  text-decoration: none;
  box-shadow: none;
  transition: transform .25s var(--fd-ease), background .25s var(--fd-ease), border-color .25s var(--fd-ease);
}
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) :where(.probpr-site-button, .probpr-site-button-light, .probpr-site-filters button, .probpr-site-auth-form button):hover { transform: translateY(-1px); background: var(--fd-accent-hover); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-button-light { color: var(--fd-ink); background: #fff; border-color: var(--fd-line); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-button-light:hover { background: var(--fd-soft); border-color: color-mix(in oklab, var(--fd-ink) 22%, var(--fd-line)); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) :where(input, select, textarea):focus-visible { outline: 3px solid color-mix(in oklab, var(--fd-accent) 35%, transparent); outline-offset: 1px; }

/* Catalogue --------------------------------------------------------------- */
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head {
  padding: clamp(64px, 7vw, 112px) 0 clamp(96px, 10vw, 150px);
  color: var(--fd-on-accent);
  background: var(--fd-accent);
}
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head-inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head .probpr-site-eyebrow {
  display: block;
  margin-bottom: 20px;
  color: color-mix(in oklab, var(--fd-on-accent) 72%, transparent);
  font: 600 .75rem/1 var(--fd-text);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head h1 {
  margin: 0;
  max-width: 10ch;
  color: inherit;
  font: 600 clamp(4rem, 9vw, 8.5rem)/.84 var(--fd-display);
  letter-spacing: -.055em;
}
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head p { max-width: 48ch; margin: 22px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 78%, transparent); font-size: 1.05rem; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-count { display: grid; justify-items: end; align-self: end; min-width: 0; padding-bottom: 5px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-count span { color: color-mix(in oklab, var(--fd-on-accent) 72%, transparent); font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-count strong { color: inherit; font: 600 clamp(3.2rem, 5vw, 5.8rem)/.9 var(--fd-display); letter-spacing: -.045em; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head + .probpr-site-section { margin-top: clamp(-54px, -4vw, -36px); position: relative; z-index: 2; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head + .probpr-site-section > .probpr-site-container { display: grid; gap: clamp(40px, 5vw, 72px); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filters {
  position: relative;
  z-index: 5;
  margin: 0;
  padding: clamp(20px, 2.5vw, 32px);
  border: 1px solid var(--fd-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 22px 70px -44px rgba(12, 15, 23, .42);
}
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-main { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(200px, .65fr) auto; gap: 12px; align-items: end; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-main label { display: grid; gap: 8px; min-width: 0; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-main label > span { color: var(--fd-muted); font: 600 .72rem/1 var(--fd-text); letter-spacing: .08em; text-transform: uppercase; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-main input,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-main select,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialty-search {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--fd-line);
  border-radius: 12px;
  padding: 0 15px;
  background: var(--fd-canvas);
  color: var(--fd-ink);
  font: 500 .95rem/1.2 var(--fd-text);
  box-shadow: none;
}
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-actions { display: flex; align-items: center; gap: 12px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-actions a { color: var(--fd-muted); font-size: .85rem; text-underline-offset: 4px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialty-filter { margin-top: 14px; border: 1px solid var(--fd-line); border-radius: 16px; background: var(--fd-soft); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialty-filter > summary { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; padding: 16px 18px; cursor: pointer; list-style: none; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialty-filter > summary::-webkit-details-marker { display: none; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialty-filter > summary > span { font: 600 .9rem/1.25 var(--fd-text); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialty-filter > summary > strong { color: var(--fd-accent); font: 600 .82rem/1.2 var(--fd-text); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialty-filter > summary > small { grid-column: 1 / -1; color: var(--fd-muted); font-size: .8rem; overflow-wrap: anywhere; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialty-filter-panel { padding: 0 18px 18px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-groups { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin-top: 18px; max-height: 380px; overflow: auto; overscroll-behavior: contain; padding-right: 8px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-group-title { margin-bottom: 10px; color: var(--fd-ink); font: 600 .85rem/1.3 var(--fd-display); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-group-items { display: grid; gap: 6px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-group-items label { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; padding: 8px; border-radius: 10px; cursor: pointer; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-group-items label:hover { background: #fff; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-group-items input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--fd-accent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-group-items span { display: grid; gap: 2px; min-width: 0; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-group-items strong { font: 500 .84rem/1.35 var(--fd-text); overflow-wrap: anywhere; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-group-items small { color: var(--fd-muted); font-size: .72rem; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2vw, 28px); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--fd-line);
  border-radius: 24px;
  background: #fff;
  color: var(--fd-ink);
  text-decoration: none;
  box-shadow: none;
  transition: transform .45s var(--fd-ease), box-shadow .45s var(--fd-ease), border-color .3s;
}
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card:hover { transform: translateY(-6px); border-color: color-mix(in oklab, var(--fd-accent) 34%, var(--fd-line)); box-shadow: 0 24px 60px -42px rgba(12,15,23,.55); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card-visual { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--fd-accent-soft); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card-poster { display: grid; place-items: center; width: 100%; height: 100%; padding: 22px; background: transparent; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card-poster img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 16px 22px rgba(12,15,23,.22)); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card-type-badge { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 7px 10px; border-radius: 999px; color: var(--fd-on-accent); background: var(--fd-accent); font: 600 .72rem/1 var(--fd-text); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card-body { display: flex; flex: 1; flex-direction: column; padding: 22px; min-width: 0; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card-top { display: flex; justify-content: space-between; gap: 12px; color: var(--fd-muted); font-size: .75rem; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card h3 { margin: 14px 0 0; color: var(--fd-ink); font: 600 clamp(1.2rem, 1.05rem + .35vw, 1.55rem)/1.14 var(--fd-display); letter-spacing: -.025em; overflow-wrap: anywhere; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-meta { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 16px; color: var(--fd-muted); font-size: .8rem; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-format-chip,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-price-chip { border: 0; border-radius: 0; padding: 0; background: transparent; color: inherit; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-price-chip { margin-left: auto; color: var(--fd-ink); font-weight: 600; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-price-chip del { color: var(--fd-muted); font-weight: 400; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-price-chip em { color: var(--fd-ok); font-style: normal; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-sale-note,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-topic { display: block; margin-top: 10px; color: var(--fd-muted); font-size: .76rem; line-height: 1.4; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-card-link { margin-top: auto; padding-top: 20px; color: var(--fd-accent); font: 600 .8rem/1 var(--fd-text); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 56px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-pagination a { min-width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--fd-line); border-radius: 999px; color: var(--fd-ink); background: #fff; text-decoration: none; font-weight: 600; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-pagination a:hover,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-pagination a.is-active { border-color: var(--fd-accent); color: var(--fd-on-accent); background: var(--fd-accent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-empty { display: grid; gap: 8px; padding: 48px; border: 1px solid var(--fd-line); border-radius: 24px; background: var(--fd-soft); }

/* Catalogue (/events/): shared pages/events.php, FOLIO presentation ------- */
/* The page, its GET form (s, event_type, specialty_ids[], site_page), the specialty
   script and the pagination stay canonical in the shared template; this block maps
   that markup onto the reference catalogue (page head band, finder console, specialty
   panel, pager dock, empty state). Event cards come from themes/folio/parts/event-card.php
   (.fd-entry). Every rule is scoped to the catalogue page through its unique form hook
   .probpr-site-layout-folio:has([data-probpr-events-filters]) — the generic FOLIO page-head /
   filters / pagination / empty rules above stay as they were for every other page. The scoped
   rules out-rank them and provider-site.css without !important; the shared `!important` rules on
   the mobile filter actions are left as they are. */

/* Page head: the provider colour as a band, the finder sits on its lower edge */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 4vw, 56px) 0 clamp(72px, 7vw, 100px);
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
@media (min-width: 760px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head {
    background:
      radial-gradient(34% 80% at 100% 0%, color-mix(in oklab, var(--fd-accent-lit) 60%, transparent) 0%, transparent 72%),
      var(--fd-accent);
  }
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px 48px;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head-inner > div:first-child { min-width: 0; max-width: 100%; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head .probpr-site-eyebrow {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0;
  color: inherit;
  font: 500 .9375rem/1.35 var(--fd-text);
  letter-spacing: 0;
  text-transform: none;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head h1 {
  max-width: none;
  margin: clamp(10px, 1.6vw, 20px) 0 0;
  color: inherit;
  font: 600 clamp(3.5rem, 1.5rem + 6.4vw, 8rem)/.88 var(--fd-display);
  letter-spacing: -.05em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head p {
  max-width: 44ch;
  margin: 18px 0 0;
  color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent);
  font: 400 1.0625rem/1.5 var(--fd-text);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-count {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
  padding: 0;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-count span {
  color: inherit;
  font: 500 1rem/1.3 var(--fd-text);
  letter-spacing: 0;
  text-transform: none;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-count strong {
  color: inherit;
  font: 600 clamp(1.75rem, 1.25rem + 1.5vw, 3rem)/1 var(--fd-display);
  letter-spacing: -.03em;
  font-variant-numeric: lining-nums tabular-nums;
}
@media (min-width: 760px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-count { display: grid; justify-items: end; gap: 8px; padding-bottom: .3rem; text-align: right; }
}
@media (max-width: 599px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head p { font-size: 1rem; }
}

/* the section under the head: no shared padding on top, finder overlaps the band */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head + .probpr-site-section {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: 0 0 clamp(96px, 10vw, 160px);
  background: transparent;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-page-head + .probpr-site-section > .probpr-site-container { display: block; }

/* Finder console: the shared .probpr-site-filter-main is unwrapped (display: contents),
   so search, type, specialties and the actions are one flex row of tiles */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filters {
  position: relative;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: calc(-1 * clamp(44px, 4.2vw, 60px)) 0 0;
  padding: 8px;
  border: 0;
  border-radius: 24px;
  background: var(--fd-canvas);
  box-shadow: 0 2px 6px rgba(12, 15, 23, .06), 0 32px 64px -32px rgba(12, 15, 23, .45);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main { display: contents; }

.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label,
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary {
  position: relative;
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  min-height: 62px;
  margin: 0;
  padding: 10px 16px;
  border: 0;
  border-radius: 16px;
  background: var(--fd-soft);
  cursor: text;
  transition: background-color .2s var(--fd-ease), box-shadow .2s var(--fd-ease);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:hover,
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary:hover { background: color-mix(in oklab, var(--fd-soft), var(--fd-ink) 5%); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:focus-within { background: var(--fd-canvas); box-shadow: inset 0 0 0 2px var(--fd-accent); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label > span,
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary > span {
  position: relative;
  z-index: 1;
  color: var(--fd-muted);
  font: 600 .8125rem/1.2 var(--fd-text);
  letter-spacing: 0;
  text-transform: none;
  pointer-events: none;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main input,
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main select {
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--fd-ink);
  font: 500 1rem/1.35 var(--fd-text);
  -webkit-appearance: none;
  appearance: none;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main input::placeholder { color: var(--fd-muted); opacity: 1; }
/* the tile shows focus (inset accent ring), so the bare field does not draw a second one */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main :is(input, select):focus-visible { outline: none; }

/* event type: the select covers its tile, so the whole tile opens the list */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:has(select) { align-content: start; padding-top: 11px; cursor: pointer; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main select {
  position: absolute;
  inset: 0;
  padding: 30px 38px 9px 16px;
  border-radius: inherit;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%230C0F17' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 16px center / 12px 8px no-repeat;
  cursor: pointer;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* actions: «Застосувати» as the reference submit, «Скинути» as a quiet text link */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions {
  display: flex;
  align-items: center;
  gap: 4px 14px;
  min-width: 0;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions button {
  min-height: 62px;
  padding: 0 22px;
  border: 0;
  border-radius: 16px;
  font: 600 1rem/1.2 var(--fd-text);
  box-shadow: none;
  cursor: pointer;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions a {
  padding: 4px 2px;
  color: var(--fd-ink-2);
  font: 600 .9375rem/1.3 var(--fd-text);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .2em;
  white-space: nowrap;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions a { display: inline-flex; align-items: center; justify-content: center; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions a:hover { color: var(--fd-ink); text-decoration-color: transparent; }

/* Specialties: the shared <details>, presented as the reference tile + drop-down panel */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter {
  position: static; /* the panel drops from the whole finder, not from the tile */
  min-width: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 12px;
  cursor: pointer;
  list-style: none;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary::-webkit-details-marker { display: none; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--fd-accent); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary > strong {
  grid-column: 2;
  grid-row: 1;
  color: var(--fd-accent);
  font: 600 .8125rem/1.2 var(--fd-text);
  white-space: nowrap;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary > small {
  grid-column: 1 / -1;
  overflow: hidden;
  color: var(--fd-ink);
  font: 500 1rem/1.35 var(--fd-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter[open] > summary { background: var(--fd-canvas); box-shadow: inset 0 0 0 2px var(--fd-accent); }

.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 10;
  max-height: max(320px, min(640px, calc(100svh - 480px)));
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 clamp(16px, 2vw, 28px) clamp(16px, 2vw, 24px);
  border-radius: 24px;
  background: var(--fd-canvas);
  box-shadow: 0 2px 8px rgba(12, 15, 23, .08), 0 44px 90px -36px rgba(12, 15, 23, .5);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-search {
  position: sticky;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  max-width: 520px;
  height: 52px;
  margin: 0;
  padding: 0 16px 0 46px;
  border: 0;
  border-radius: 14px;
  background: var(--fd-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Ccircle cx='7.5' cy='7.5' r='5.75' fill='none' stroke='%235D6474' stroke-width='2'/%3E%3Cpath d='m12 12 4.5 4.5' stroke='%235D6474' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 16px center / 18px 18px no-repeat;
  box-shadow: 0 -16px 0 16px var(--fd-canvas), 0 12px 0 0 var(--fd-canvas);
  color: var(--fd-ink);
  font: 500 1rem/1.2 var(--fd-text);
  -webkit-appearance: none;
  appearance: none;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter-panel { padding-top: clamp(16px, 2vw, 24px); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-search::placeholder { color: var(--fd-muted); opacity: 1; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-search:focus-visible { outline: 2px solid var(--fd-accent); outline-offset: 0; background-color: var(--fd-canvas); }

/* groups flow down in columns; the panel scrolls as a whole (no inner scroll box) */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-groups {
  display: block;
  max-height: none;
  margin-top: 18px;
  padding: 0;
  overflow: visible;
  column-width: 15rem;
  column-gap: 40px;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group { margin: 0 0 22px; break-inside: avoid; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-title {
  margin: 0;
  padding: 0 0 6px;
  color: var(--fd-ink);
  font: 600 .9375rem/1.3 var(--fd-display);
  letter-spacing: -.01em;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items { display: block; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 -10px;
  padding: 8px 10px;
  border-radius: 10px;
  color: var(--fd-ink-2);
  font: 400 .9375rem/1.35 var(--fd-text);
  cursor: pointer;
  transition: background-color .15s var(--fd-ease);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items label:hover { background: var(--fd-soft); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items input {
  flex: none;
  display: grid;
  place-content: center;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1.5px solid #7C8494;
  border-radius: 6px;
  background: var(--fd-canvas);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color .15s var(--fd-ease), border-color .15s var(--fd-ease);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items input::before {
  content: "";
  width: 10px;
  height: 5px;
  border: solid var(--fd-on-accent);
  border-width: 0 0 2px 2px;
  opacity: 0;
  transform: translateY(-1px) rotate(-45deg);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items input:checked { border-color: var(--fd-accent); background: var(--fd-accent); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items input:checked::before { opacity: 1; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items input:focus-visible { outline: 3px solid var(--fd-accent); outline-offset: 2px; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items label > span { display: block; min-width: 0; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items strong { font: inherit; overflow-wrap: anywhere; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items label:has(input:checked) { color: var(--fd-ink); font-weight: 600; }
/* the group name repeats the group title above; it stays in data-specialty-label for the summary */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-events-specialty-group-items small { display: none; }
/* the shared script hides groups / items / the no-results note with [hidden]; keep that working */
.probpr-site-layout-folio:has([data-probpr-events-filters]) :is([data-probpr-specialty-group], [data-probpr-specialty-item], [data-probpr-specialty-no-results])[hidden] { display: none; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-no-results { padding: 8px 0 16px; color: var(--fd-muted); font-size: .9375rem; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter-panel > small { display: block; max-width: 38em; margin-top: 4px; color: var(--fd-muted); font-size: .875rem; line-height: 1.45; }

/* finder order: phones — search, type + specialties, actions; tablets — search + actions on top;
   from 900px one row */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:has(input[name="s"]) { order: 1; flex: 1 1 100%; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:has(select[name="event_type"]) { order: 2; flex: 1 1 calc(50% - 4px); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filters > .probpr-site-specialty-filter { order: 3; flex: 1 1 calc(50% - 4px); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions { order: 4; flex: 1 1 100%; }
/* provider-site.css (≤680px) makes these actions a grid with !important; two columns keep «Скинути» beside the button */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions { grid-template-columns: minmax(0, 1fr) auto; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions button { flex: 1 1 auto; }
@media (min-width: 600px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:has(input[name="s"]) { flex: 1 1 calc(100% - 260px); }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions { order: 1; flex: 0 0 auto; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions button { flex: 0 0 auto; }
}
@media (min-width: 900px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filters { flex-wrap: nowrap; padding: 10px; border-radius: 26px; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label,
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary { min-height: 68px; padding-inline: 20px; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:has(select) { padding-top: 13px; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main select { padding: 32px 44px 11px 20px; background-position: right 20px center; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main :is(input, select),
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-specialty-filter > summary > small { font-size: 1.0625rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:has(input[name="s"]) { order: 0; flex: 1.7 1 0; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-main > label:has(select[name="event_type"]) { order: 0; flex: 1 1 0; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filters > .probpr-site-specialty-filter { order: 0; flex: 1.3 1 0; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions { order: 0; flex: 0 0 auto; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-filter-actions button { min-height: 68px; padding-inline: 30px; }
}

/* Results: vertical list on phones (rows), cards from 760px — not the Home swipe rail */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-event-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  margin-top: clamp(40px, 4vw, 56px);
}
@media (min-width: 760px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 52px var(--fd-gap); }
}
@media (min-width: 980px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-event-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 60px var(--fd-gap); }
}

/* Event entry (themes/folio/parts/event-card.php): rows on phones, cards from 760px */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry {
  position: relative;
  display: grid;
  grid-template-columns: clamp(96px, 26vw, 152px) minmax(0, 1fr);
  column-gap: clamp(14px, 3vw, 24px);
  min-width: 0;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage {
  position: relative;
  align-self: start;
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 14px;
  background: var(--fd-accent-soft);
  text-decoration: none;
  transition: background-color .5s var(--fd-ease);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage .fd-poster {
  display: block;
  max-width: 84%;
  max-height: 84%;
  border-radius: 4px;
  object-fit: contain;
  box-shadow: 0 1px 2px rgba(12, 15, 23, .12), 0 12px 22px -12px rgba(12, 15, 23, .45);
  transition: transform .7s var(--fd-ease), box-shadow .7s var(--fd-ease);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage .fd-cover { transition: transform .7s var(--fd-ease); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-cover__date span { font-size: max(11px, 8.5cqi); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__flag {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 1;
  padding: 5px 7px;
  border-radius: 8px;
  background: var(--fd-ink);
  color: #FFFFFF;
  font: 700 .75rem/1 var(--fd-text);
}
@media (max-width: 759px) {
  /* on a small stage the cover turns into a date tile: no card, no provider line */
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage .fd-cover { width: 100%; border-radius: 0; background: transparent; box-shadow: none; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage .fd-cover__by { display: none; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage .fd-cover__date { margin-block: auto; }
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__body { display: flex; flex-direction: column; min-width: 0; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__date {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin: 0;
  color: var(--fd-muted);
  font: 500 .8125rem/1.35 var(--fd-text);
  font-variant-numeric: lining-nums tabular-nums;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__date b {
  color: var(--fd-ink);
  font: 600 .9375rem/1.3 var(--fd-display);
  letter-spacing: -.01em;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__title {
  display: -webkit-box;
  margin: 6px 0 0;
  overflow: hidden;
  font: 600 clamp(1.0625rem, .95rem + .6vw, 1.25rem)/1.22 var(--fd-display);
  letter-spacing: -.018em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
/* one link per entry: the title stretches over the whole entry; the stage link is out of the tab order */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__link { color: var(--fd-ink); text-decoration: none; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__link::after { content: ""; position: absolute; inset: 0; border-radius: 18px; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__link:focus-visible { outline: none; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__link:focus-visible::after { outline: 3px solid var(--fd-accent); outline-offset: 6px; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__meta {
  display: flex;
  flex-wrap: wrap;
  margin: 8px 0 0;
  color: var(--fd-muted);
  font: 500 .8125rem/1.4 var(--fd-text);
  overflow-wrap: anywhere;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__meta span + span::before { content: "·"; margin-inline: 7px; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__topic { margin: 6px 0 0; color: var(--fd-ink-2); font-size: .8125rem; line-height: 1.4; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__status {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 8px 0 0;
  color: var(--fd-ink-2);
  font: 600 .8125rem/1.35 var(--fd-text);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__status::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__status.is-info { color: var(--fd-accent); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__status.is-warn { color: var(--fd-warn); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__status.is-muted { color: var(--fd-muted); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px 14px;
  margin-top: auto;
  padding-top: 14px;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__foot .fd-bpr,
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__foot .fd-price { margin: 0; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__foot .fd-price { margin-left: auto; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-bpr { gap: 8px; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-bpr b { font-size: 1.625rem; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-bpr span { font-size: .75rem; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-bpr.is-none { font-size: .8125rem; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-price__amount { font-size: 1.125rem; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-price__regular { font-size: .8125rem; }
@media (min-width: 760px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry { display: flex; flex-direction: column; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage { align-self: stretch; aspect-ratio: 5 / 4; border-radius: 20px; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage .fd-poster { max-width: 80%; max-height: 80%; border-radius: 6px; box-shadow: var(--fd-shadow-object); transform: rotate(-2deg); }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__stage .fd-cover { width: 50%; transform: rotate(-2deg); }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__flag { top: 14px; right: 14px; padding: 8px 11px; border-radius: 10px; font-size: .875rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__body { flex: 1; padding-top: 20px; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__date { font-size: .875rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__date b { font-size: 1.0625rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__title { margin-top: 8px; font-size: clamp(1.1875rem, 1rem + .35vw, 1.3125rem); }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__meta { margin-top: 10px; font-size: .875rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__topic,
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__status { font-size: .875rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry__foot { padding-top: 18px; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-bpr { gap: 10px; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-bpr b { font-size: 2rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-bpr span { font-size: .8125rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-bpr.is-none { font-size: .875rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-price__amount { font-size: 1.375rem; }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry .fd-price__regular { font-size: .875rem; }
}
@media (hover: hover) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry:hover .fd-entry__stage { background: var(--fd-accent-soft-2); }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry:hover .fd-entry__link { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .16em; }
}
@media (hover: hover) and (min-width: 760px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry:hover .fd-entry__stage .fd-poster,
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry:hover .fd-entry__stage .fd-cover { transform: rotate(0deg) translateY(-6px) scale(1.03); }
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry:hover .fd-entry__stage .fd-poster {
    box-shadow:
      0 2px 4px rgba(12, 15, 23, .10),
      0 26px 48px -16px rgba(12, 15, 23, .38),
      0 64px 100px -40px rgba(12, 15, 23, .48);
  }
}
/* sale closed (canonical is_event_open_for_payment): readable, but steps back */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry.is-muted .fd-entry__stage { background: var(--fd-soft); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry.is-muted .fd-poster,
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry.is-muted .fd-cover { filter: grayscale(1); opacity: .6; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry.is-muted .fd-entry__link,
.probpr-site-layout-folio:has([data-probpr-events-filters]) .fd-entry.is-muted .fd-entry__date b { color: var(--fd-ink-2); }

/* Pagination: the shared links in the reference pager dock */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  margin: clamp(64px, 7vw, 104px) auto 0;
  padding: 6px;
  border-radius: 20px;
  background: var(--fd-ink);
  color: #FFFFFF;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-pagination a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 48px;
  padding: 0 14px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: #FFFFFF;
  font: 600 1rem/1 var(--fd-text);
  font-variant-numeric: lining-nums tabular-nums;
  text-decoration: none;
  transition: background-color .2s var(--fd-ease), color .2s var(--fd-ease);
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-pagination a:hover { background: rgba(255, 255, 255, .12); color: #FFFFFF; }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-pagination a.is-active { background: #FFFFFF; color: var(--fd-ink); }
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-pagination a:focus-visible { outline: 3px solid var(--fd-accent-on-dark); outline-offset: 2px; }
@media (max-width: 599px) {
  .probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-pagination a { min-width: 44px; height: 44px; padding-inline: 10px; }
}

/* Empty result: the canonical message, as the reference empty state */
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-empty {
  display: grid;
  justify-items: start;
  gap: 14px;
  margin-top: clamp(40px, 4vw, 56px);
  padding: clamp(32px, 5vw, 72px);
  border: 0;
  border-radius: 28px;
  background: var(--fd-accent-soft);
  text-align: left;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-empty strong {
  display: block;
  max-width: 15em;
  color: var(--fd-ink);
  font: 600 clamp(1.75rem, 1.25rem + 1.8vw, 3rem)/1.04 var(--fd-display);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.probpr-site-layout-folio:has([data-probpr-events-filters]) .probpr-site-empty span { max-width: 34em; color: var(--fd-ink-2); font-size: 1.0625rem; }

/* Event detail: shared behaviour, FOLIO presentation --------------------- */
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-page-shell { padding: clamp(48px, 6vw, 96px) 0 clamp(90px, 10vw, 150px); background: var(--fd-canvas); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-page-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: clamp(30px, 4vw, 64px); align-items: start; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero { min-width: 0; display: contents; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-main { grid-column: 1; min-width: 0; padding: clamp(30px, 4.5vw, 64px); border-radius: 32px; background: var(--fd-accent); color: var(--fd-on-accent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-main.has-poster { display: grid; grid-template-columns: minmax(180px, .72fr) minmax(0, 1.28fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-poster { display: grid; place-items: center; min-height: 360px; padding: 22px; border-radius: 24px; background: color-mix(in oklab, var(--fd-on-accent) 11%, transparent); overflow: hidden; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-poster img { width: 100%; max-height: 500px; object-fit: contain; filter: drop-shadow(0 18px 32px rgba(0,0,0,.28)); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-copy { min-width: 0; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero :where(.probpr-site-back, .probpr-site-eyebrow) { color: color-mix(in oklab, var(--fd-on-accent) 78%, transparent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero .probpr-site-back { display: inline-flex; margin-bottom: 28px; font-size: .8rem; font-weight: 600; text-underline-offset: 4px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero .probpr-site-eyebrow { display: block; margin-bottom: 14px; font: 600 .72rem/1 var(--fd-text); text-transform: uppercase; letter-spacing: .1em; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero h1,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero .probpr-site-event-title { margin: 0; color: inherit; font: 600 clamp(2.6rem, 5vw, 5.7rem)/.92 var(--fd-display); letter-spacing: -.05em; overflow-wrap: anywhere; text-wrap: balance; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-description { margin-top: 22px; color: color-mix(in oklab, var(--fd-on-accent) 84%, transparent); font-size: 1.05rem; line-height: 1.55; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 28px; color: color-mix(in oklab, var(--fd-on-accent) 84%, transparent); font-size: .84rem; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-meta > span { border: 0; background: transparent; color: inherit; padding: 0; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-lecturers { margin-top: 26px; padding-top: 20px; border-top: 1px solid color-mix(in oklab, var(--fd-on-accent) 24%, transparent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-lecturer-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-lecturer { display: inline-flex; align-items: center; gap: 8px; color: inherit; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-lecturer img,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-lecturer-avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; background: color-mix(in oklab, var(--fd-on-accent) 18%, transparent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card { grid-column: 2; grid-row: 1; padding: 0; border: 1px solid var(--fd-line); border-radius: 28px; overflow: hidden; background: #fff; color: var(--fd-ink); box-shadow: 0 30px 80px -56px rgba(12,15,23,.55); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card-sticky { position: sticky; top: calc(var(--fd-header-h) + 20px); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card > :not(form):not(.probpr-site-registration-messages):not(.probpr-site-muted-box):not(.probpr-site-waitlist-box) { margin-inline: 26px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card > span:first-child,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-label { display: block; margin-top: 26px; color: var(--fd-muted); font: 600 .72rem/1 var(--fd-text); letter-spacing: .1em; text-transform: uppercase; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-price { display: block; margin-top: 10px; color: var(--fd-ink); font: 600 clamp(2.2rem, 3vw, 3.6rem)/.95 var(--fd-display); letter-spacing: -.04em; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card form { margin-top: 24px; padding: 24px 26px 26px; border-top: 1px solid var(--fd-line); background: var(--fd-soft); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-targets { display: grid; gap: 10px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-targets-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 2px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-targets-head strong { font: 600 1rem/1.2 var(--fd-display); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-targets-head a { color: var(--fd-accent); font-size: .8rem; font-weight: 600; text-underline-offset: 4px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-target {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 10px 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid var(--fd-line);
  border-radius: 16px;
  background: #fff;
  cursor: pointer;
  transition: border-color .2s, background .2s, box-shadow .2s;
}
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-target:hover { border-color: color-mix(in oklab, var(--fd-accent) 36%, var(--fd-line)); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-target:has(input[type="checkbox"]:checked) { border-color: color-mix(in oklab, var(--fd-accent) 58%, var(--fd-line)); background: var(--fd-accent-soft); box-shadow: inset 3px 0 0 var(--fd-accent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-target > input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--fd-accent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-target > span { display: grid; gap: 3px; min-width: 0; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-target strong { font: 600 .9rem/1.3 var(--fd-text); overflow-wrap: anywhere; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-target small { color: var(--fd-muted); font-size: .76rem; line-height: 1.35; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-tariff-field { grid-column: 1 / -1; display: grid; gap: 6px; margin-top: 6px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-tariff-field select { width: 100%; min-height: 44px; border: 1px solid var(--fd-line); border-radius: 10px; padding: 0 11px; background: #fff; font: 500 .8rem/1.2 var(--fd-text); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-form-actions { display: grid; gap: 9px; margin-top: 16px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-registration-cart-badge { display: inline-flex; align-items: center; width: max-content; max-width: 100%; margin-top: 6px; padding: 7px 10px; border-radius: 999px; color: var(--fd-ok); background: color-mix(in oklab, var(--fd-ok) 10%, #fff); font-size: .75rem; font-weight: 600; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-page-content { grid-column: 1; margin-top: clamp(56px, 7vw, 100px); min-width: 0; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-page-content > .probpr-site-section,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-page-content .probpr-site-section { padding: clamp(44px, 5vw, 76px) 0; border-top: 1px solid var(--fd-line); background: transparent; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-section-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-section-head h2,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-page-content h2 { margin: 0; color: var(--fd-ink); font: 600 clamp(2rem, 3.5vw, 3.6rem)/.98 var(--fd-display); letter-spacing: -.04em; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-event-rich-text { color: var(--fd-ink-2); font-size: 1.02rem; line-height: 1.75; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-program-timeline { display: grid; gap: 0; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-program-module { margin: 32px 0 6px; color: var(--fd-accent); font: 600 .75rem/1 var(--fd-text); letter-spacing: .1em; text-transform: uppercase; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-program-box { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--fd-line); background: transparent; border-radius: 0; box-shadow: none; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-program-time { color: var(--fd-muted); font: 600 .78rem/1.3 var(--fd-text); font-variant-numeric: tabular-nums; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-program-content strong { font: 600 1.05rem/1.35 var(--fd-display); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-program-description { margin-top: 6px; color: var(--fd-muted); font-size: .86rem; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-tariff-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-tariff-card { padding: 22px; border: 1px solid var(--fd-line); border-radius: 20px; background: #fff; box-shadow: none; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-tariff-card.is-recommended,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-tariff-card.is-selected { border-color: var(--fd-accent); box-shadow: inset 0 0 0 1px var(--fd-accent); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-tariff-card h3 { margin: 0; font: 600 1.2rem/1.25 var(--fd-display); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-tariff-price { margin-top: 14px; color: var(--fd-ink); font: 600 1.7rem/1 var(--fd-display); }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-tariff-recommended { display: inline-flex; margin-bottom: 10px; padding: 6px 9px; border-radius: 999px; background: var(--fd-accent); color: var(--fd-on-accent); font-size: .68rem; font-weight: 600; }
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-detail-card,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-specialties-box,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-venue-card,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-support-card-v2,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-event-upsell-card,
.probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-event-membership-upsell-card { border: 1px solid var(--fd-line); border-radius: 20px; background: #fff; box-shadow: none; }

/* Event detail page (Stage 9) ----------------------------------------------
   CSS only. pages/event.php, provider-site-tariffs.js and provider-site-cart-state.js
   stay canonical: no markup, field, data-* or button changes.
   Scope: the event page is the only page that renders .probpr-site-event-page-shell. */

/* Page grid: hero | purchase card (spans hero + content, so sticky has room) | content */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-shell { padding: clamp(24px, 3vw, 40px) 0 clamp(96px, 10vw, 160px); background: var(--fd-canvas); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid.probpr-site-container {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
  grid-template-areas: "hero sidebar" "content sidebar";
  gap: 0 clamp(32px, 4vw, 64px);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-main { grid-area: hero; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card { grid-area: sidebar; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-page-content { grid-area: content; margin-top: 0; }

/* Hero: title, lead and lecturers on the canvas; poster + facts as the accent stage band */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-main,
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-main.no-poster {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "title" "desc" "people" "facts";
  gap: 0;
  align-content: start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--fd-ink);
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-main.has-poster {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  grid-template-areas: "title title" "desc desc" "people people" "poster facts";
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-copy { display: contents; }

.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero h1,
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-title {
  grid-area: title;
  max-width: 100%;
  margin: 0;
  color: var(--fd-ink);
  font: 600 clamp(2.25rem, 1.25rem + 3vw, 3.75rem)/1 var(--fd-display);
  letter-spacing: -.04em;
  overflow-wrap: break-word;
  hyphens: auto;
  text-wrap: balance;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-title.is-long { font-size: clamp(1.875rem, 1.1rem + 2.6vw, 3.25rem); line-height: 1.02; letter-spacing: -.035em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-title.is-very-long { font-size: clamp(1.75rem, 1.05rem + 2vw, 2.75rem); line-height: 1.05; letter-spacing: -.03em; }

.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-description {
  grid-area: desc;
  max-width: 60ch;
  margin: 20px 0 0;
  color: var(--fd-ink-2);
  font-size: 1.0625rem;
  line-height: 1.6;
}

/* Lecturers: avatar + full name (never cut), real data only */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-lecturers {
  grid-area: people;
  display: grid;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-hero-lecturers-label { color: var(--fd-muted); font: 600 .875rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; text-align: left; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-hero-lecturer-list { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 12px 24px; margin: 0; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-hero-lecturer {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--fd-ink);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-hero-lecturer img,
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-hero-lecturer-avatar {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--fd-accent-soft);
  color: var(--fd-accent);
  font: 600 1rem/1 var(--fd-display);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-hero-lecturer strong {
  max-width: 30ch;
  overflow: visible;
  color: var(--fd-ink);
  font: 600 .9375rem/1.3 var(--fd-text);
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: break-word;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-hero-lecturer-more { min-width: 44px; height: 44px; padding: 0 10px; border-radius: 999px; background: var(--fd-soft); color: var(--fd-ink); font: 600 .875rem/1 var(--fd-text); }

/* Stage band: poster object (natural proportions, never cropped) */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-poster {
  grid-area: poster;
  display: grid;
  place-items: center;
  align-self: stretch;
  justify-self: stretch;
  width: auto;
  max-width: none;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  margin: clamp(32px, 3.4vw, 48px) 0 0;
  padding: clamp(28px, 3.4vw, 48px);
  border: 0;
  border-radius: 28px 0 0 28px;
  background: var(--fd-accent);
  /* 1px accent ring closes a sub-pixel seam where the poster meets the facts block */
  box-shadow: 0 0 0 1px var(--fd-accent);
  overflow: visible;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-poster img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 380px);
  max-height: 340px;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 6px;
  background: transparent;
  filter: none;
  box-shadow: var(--fd-shadow-object);
  transform: rotate(-3deg);
  transition: transform .7s var(--fd-ease);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-poster.is-portrait img { max-height: 380px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-main:hover .probpr-site-event-hero-poster img { transform: rotate(-1deg) translateY(-6px); }
}

/* Stage band: facts. The shared markup gives date and BPR as plain text items;
   date has its own class, the BPR amount is the last unclassed item. */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta {
  grid-area: facts;
  align-self: stretch;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  margin: clamp(32px, 3.4vw, 48px) 0 0;
  padding: clamp(28px, 3.4vw, 48px);
  border-radius: 28px;
  background: var(--fd-accent);
  color: var(--fd-on-accent);
  font-size: .875rem;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-main.has-poster .probpr-site-event-hero-meta { border-radius: 0 28px 28px 0; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta > span:not(.probpr-site-bpr-mode-badge) {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  max-width: 100%;
  min-height: 32px;
  padding: 6px 12px;
  border: 0;
  border-radius: 10px;
  background: #FFFFFF;
  color: var(--fd-ink);
  font: 600 .8125rem/1.3 var(--fd-text);
  text-align: left;
  white-space: normal;
  overflow-wrap: break-word;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta > .probpr-site-bpr-mode-badge { min-height: 32px; border-radius: 10px; text-align: left; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta > span.probpr-site-event-hero-date,
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta > span:last-child:not([class]) {
  flex-basis: 100%;
  width: auto;
  max-width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--fd-on-accent);
  letter-spacing: -.02em;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta > span.probpr-site-event-hero-date { order: -2; font: 600 clamp(1.5rem, 1.2rem + .9vw, 2.125rem)/1.15 var(--fd-display); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta > span:last-child:not([class]) { order: -1; margin-bottom: 14px; font: 600 1.25rem/1.3 var(--fd-display); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta :focus-visible { outline-color: var(--fd-on-accent); }

/* Purchase card: ink surface (reference fd-buy), the registration form as a white panel.
   The card's shared children are untouched; colours are passed through the shared
   custom properties (--site-text / --site-muted / --site-primary / --site-border). */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card {
  --site-text: var(--fd-on-ink);
  --site-muted: var(--fd-on-ink-muted);
  gap: 14px;
  padding: 0 0 26px;
  border: 0;
  border-radius: 28px;
  background: var(--fd-ink);
  color: var(--fd-on-ink);
  text-align: left;
  box-shadow: 0 40px 90px -56px rgba(12, 15, 23, .7);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card :focus-visible { outline-color: var(--fd-accent-on-dark); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-register-label {
  color: var(--fd-on-ink-muted);
  font: 600 .9375rem/1.3 var(--fd-text);
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-register-price {
  margin-top: -4px;
  color: #FFFFFF;
  font: 600 clamp(2.25rem, 1.9rem + 1vw, 2.75rem)/1 var(--fd-display);
  letter-spacing: -.035em;
  text-align: left;
  overflow-wrap: break-word;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-register-price.is-free { color: var(--fd-ok-on-dark); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > :is(small, .probpr-site-free-note, .probpr-site-registration-deadline) {
  max-width: none;
  color: var(--fd-on-ink-muted);
  font: 500 .875rem/1.45 var(--fd-text);
  text-align: left;
}

/* sale: canonical badge / regular / sale price / note / countdown, restyled for ink */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-sale-price-block {
  width: auto;
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card .probpr-site-sale-badge { padding: 5px 10px; border-radius: 8px; background: var(--fd-accent); color: var(--fd-on-accent); font: 700 .8125rem/1 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card .probpr-site-sale-price-row { justify-content: flex-start; align-items: baseline; gap: 2px 14px; text-align: left; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card .probpr-site-sale-price-row strong { color: var(--fd-accent-on-dark); font: 600 clamp(2.25rem, 1.9rem + 1vw, 2.75rem)/1 var(--fd-display); letter-spacing: -.035em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card .probpr-site-sale-price-row del { color: var(--fd-on-ink-muted); font: 500 1.0625rem/1.2 var(--fd-text); text-decoration-thickness: 1.5px; white-space: nowrap; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card :is(.probpr-site-sale-note, .probpr-site-sale-countdown) { color: var(--fd-on-ink); font: 600 .875rem/1.4 var(--fd-text); }

/* light insets on ink: disclosure, messages, state boxes, waitlist, support */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card :is(.probpr-site-bpr-disclosure, .probpr-site-registration-messages, .probpr-site-auth-message, .probpr-site-muted-box, .probpr-site-waitlist-box, .probpr-site-event-support-card-v2, .probpr-site-registration-form) {
  --site-text: var(--fd-ink);
  --site-muted: var(--fd-muted);
  --site-primary: var(--fd-ink);
  --site-border: var(--fd-line);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > :is(.probpr-site-registration-messages, .probpr-site-muted-box, .probpr-site-waitlist-box) { max-width: none; margin-inline: 26px; text-align: left; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card :is(.probpr-site-auth-message, .probpr-site-muted-box, .probpr-site-waitlist-box, .probpr-site-bpr-disclosure) { border-radius: 14px; font: 500 .875rem/1.45 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-muted-box:not(.is-success):not(.is-warning) { background: rgba(255, 255, 255, .08); color: var(--fd-on-ink); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card :is(.probpr-site-bpr-disclosure, .probpr-site-muted-box, .probpr-site-waitlist-box, .probpr-site-auth-message) strong { font: 600 .9375rem/1.35 var(--fd-text); letter-spacing: 0; color: inherit; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card :is(.probpr-site-bpr-disclosure, .probpr-site-waitlist-box) span { font-weight: 500; letter-spacing: 0; text-transform: none; }

/* direct actions on ink (guest / waitlist / learning room / orders):
   filled = accent, light = fd-btn--light (white, ink text) */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > :is(.probpr-site-button, .probpr-site-waitlist-form) { width: auto; margin-inline: 26px; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-button-light,
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-waitlist-form .probpr-site-button-light {
  --site-primary: var(--fd-ink);
  --site-border: #FFFFFF;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-waitlist-form { margin-top: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }

/* registration form = the reference fd-buy bottom, as a white panel inside the card */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-registration-form {
  margin: 4px 12px 0;
  padding: 20px;
  border: 0;
  border-radius: 20px;
  background: #FFFFFF;
  color: var(--fd-ink);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-registration-form :focus-visible { outline-color: var(--fd-accent); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-registration-form span { letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-targets-head strong { color: var(--fd-ink); font: 600 1.0625rem/1.25 var(--fd-display); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-targets-head a { color: var(--fd-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-target { border-radius: 14px; background: #FFFFFF; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-target > span { color: var(--fd-ink); font-size: 1rem; font-weight: 400; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-target strong { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); overflow-wrap: anywhere; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-target small { color: var(--fd-muted); font: 500 .8125rem/1.4 var(--fd-text); overflow-wrap: anywhere; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-target.is-in-cart { background: var(--fd-soft); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-tariff-field > span { color: var(--fd-muted); font: 600 .8125rem/1.3 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-tariff-field select { max-width: 100%; min-height: 46px; border-color: var(--fd-line); border-radius: 12px; color: var(--fd-ink); font: 500 .875rem/1.3 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-tariff-field select:disabled { border-color: var(--fd-line); background: var(--fd-soft); color: var(--fd-muted); cursor: not-allowed; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-form-actions { gap: 10px; margin-top: 18px; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-form-actions .probpr-site-button { min-height: 54px; border-radius: 14px; font: 600 1rem/1.2 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-registration-form-actions .probpr-site-button-light { min-height: 48px; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-registration-form .probpr-site-muted-box { border: 1px solid var(--fd-line); background: var(--fd-soft); color: var(--fd-ink-2); }

/* support card stays the shared v2 card; only its offset in the ink card */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-event-support-card-v2 { margin-inline: 12px; }

/* Content: editorial sections in the left column */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content { padding-top: clamp(48px, 6vw, 88px); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content > .probpr-site-section { padding: clamp(48px, 5.5vw, 88px) 0 0; border-top: 0; background: transparent; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content > .probpr-site-section:first-child { padding-top: 0; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 12px 24px;
  margin-bottom: clamp(22px, 2.6vw, 34px);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-eyebrow {
  display: block;
  margin: 0 0 10px;
  color: var(--fd-muted);
  font: 600 .9375rem/1.3 var(--fd-text);
  letter-spacing: 0;
  text-transform: none;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-section-head h2,
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content h2 {
  margin: 0;
  color: var(--fd-ink);
  font: 600 clamp(2rem, 1.5rem + 1.6vw, 3rem)/1.04 var(--fd-display);
  letter-spacing: -.03em;
  overflow-wrap: break-word;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-section-count { color: var(--fd-muted); font: 600 .9375rem/1.3 var(--fd-text); }

/* documents = reference fd-doc row */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-hero-documents {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  margin: 0;
  padding: 24px;
  border: 0;
  border-radius: 24px;
  background: var(--fd-soft);
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-hero-documents-copy { min-width: min(100%, 220px); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-hero-documents-copy .probpr-site-eyebrow { margin-bottom: 6px; font-size: .875rem; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-hero-documents-copy strong { color: var(--fd-ink); font: 600 1.25rem/1.25 var(--fd-display); letter-spacing: -.015em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-hero-documents-copy small { margin-top: 6px; color: var(--fd-muted); font: 500 .875rem/1.45 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-hero-document-actions { justify-content: flex-start; gap: 10px; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-hero-document-actions .probpr-site-document-button {
  --site-primary: var(--fd-ink);
  --site-soft: #FFFFFF;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--fd-ink);
  border-radius: 12px;
  font: 600 .875rem/1.25 var(--fd-text);
  text-align: left;
  box-shadow: none;
}

/* «Про захід»: prose, not boxes; short lists side by side */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 3.6vw, 48px) clamp(24px, 3vw, 40px); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card h3 { margin: 0 0 12px; color: var(--fd-ink); font: 600 1.25rem/1.3 var(--fd-display); letter-spacing: -.015em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card :is(p, li, .probpr-event-rich-text) { color: var(--fd-ink-2); font-size: 1.0625rem; font-weight: 400; line-height: 1.7; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card.is-wide > :not(h3):not(.probpr-site-venue-card-head):not(.probpr-site-venue-lines):not(.probpr-site-button) { max-width: 66ch; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card ul { padding-left: 1.25em; list-style: disc; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card li + li { margin-top: .4em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card li::marker { color: var(--fd-accent); }

/* rich text from the editor stays as written; only reading comfort and overflow safety */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text > * + * { margin-top: 1em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text :is(h2, h3, h4) { margin-top: 1.6em; color: var(--fd-ink); font: 600 1.25rem/1.3 var(--fd-display); letter-spacing: -.015em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text ol { padding-left: 1.25em; list-style: decimal; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text :is(strong, b) { color: var(--fd-ink); font-weight: 600; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text a { color: var(--fd-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text blockquote { margin-inline: 0; padding-left: 20px; border-left: 3px solid var(--fd-accent); color: var(--fd-ink); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text :is(img, video, iframe, embed, object) { max-width: 100%; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text :is(img, video) { height: auto; border-radius: 16px; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9375rem; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text :is(th, td) { padding: 10px 12px; border: 1px solid var(--fd-line); text-align: left; vertical-align: top; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-event-rich-text pre { max-width: 100%; overflow-x: auto; }

/* venue = reference fd-venue panel */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card.probpr-site-venue-card { padding: clamp(22px, 2.6vw, 32px); border-radius: 24px; background: var(--fd-soft); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-venue-lines strong { color: var(--fd-ink); font: 600 1.125rem/1.35 var(--fd-display); overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-venue-lines :is(span, small) { color: var(--fd-ink-2); font-size: .9375rem; line-height: 1.5; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-venue-card .probpr-site-button-light { --site-primary: var(--fd-ink); --site-border: var(--fd-ink); }

/* specialty match = reference fd-match */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-specialty-match-card {
  padding: clamp(22px, 2.6vw, 32px);
  border: 0;
  border-radius: 24px;
  background: var(--fd-soft);
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-specialty-match-card.is-match { background: var(--fd-accent-soft); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-specialty-match-head h2 { font-size: clamp(1.375rem, 1.15rem + .7vw, 1.75rem); line-height: 1.2; letter-spacing: -.02em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-specialty-match-card p { max-width: 62ch; color: var(--fd-ink-2); font-size: 1rem; font-weight: 400; line-height: 1.6; }

/* specialty chips (match list and «Спеціальності») = reference fd-specs */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-specialties-box { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content :is(.probpr-site-specialties, .probpr-site-specialty-match-list) { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 8px; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content :is(.probpr-site-specialties, .probpr-site-specialty-match-list) > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  max-width: 100%;
  padding: 10px 14px;
  border: 0;
  border-radius: 12px;
  background: var(--fd-soft);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-specialty-match-list > span { background: #FFFFFF; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content :is(.probpr-site-specialties, .probpr-site-specialty-match-list) strong { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content :is(.probpr-site-specialties, .probpr-site-specialty-match-list) small { color: var(--fd-muted); font: 500 .8125rem/1.35 var(--fd-text); }

/* tariffs = reference fd-tariff: soft card, recommended on ink, selected (script-set) ring */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card {
  padding: clamp(20px, 2.4vw, 28px);
  border: 0;
  border-radius: 24px;
  background: var(--fd-soft);
  box-shadow: none;
  transform: none;
  transition: box-shadow .25s var(--fd-ease);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card h3 { color: var(--fd-ink); font: 600 1.375rem/1.2 var(--fd-display); letter-spacing: -.02em; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-price { color: var(--fd-ink); font: 600 clamp(1.75rem, 1.5rem + .8vw, 2.25rem)/1.05 var(--fd-display); letter-spacing: -.03em; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card > p { color: var(--fd-ink-2); font-size: .9375rem; font-weight: 400; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card li { color: var(--fd-ink-2); font-size: .9375rem; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card li::before { color: var(--fd-accent); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-includes-title { color: var(--fd-ink); font: 600 .875rem/1.3 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-recommended { min-height: 0; margin: 0; padding: 5px 9px; border-radius: 8px; background: var(--fd-accent); color: var(--fd-on-accent); font: 700 .8125rem/1 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-choose { min-height: 48px; border-radius: 12px; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-recommended {
  --site-text: #FFFFFF;
  --site-muted: var(--fd-on-ink-muted);
  --site-primary: var(--fd-accent-on-dark);
  background: var(--fd-ink);
  color: var(--fd-on-ink);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-recommended :is(h3, .probpr-site-tariff-price, .probpr-site-tariff-includes-title) { color: #FFFFFF; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-recommended :is(p, li, .probpr-site-tariff-capacity) { color: var(--fd-on-ink-muted); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-recommended li::before { color: var(--fd-accent-on-dark); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-recommended .probpr-site-tariff-capacity.is-full { color: #FFB4A8; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-recommended :focus-visible { outline-color: var(--fd-accent-on-dark); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-selected { box-shadow: 0 0 0 3px var(--fd-accent); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-unavailable { background: transparent; box-shadow: inset 0 0 0 1px var(--fd-line); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-tariff-card.is-recommended.is-unavailable { background: var(--fd-ink); }

/* programme = reference fd-prog timeline. The collapse (max-height + checkbox) stays shared. */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-box {
  display: block;
  max-width: 780px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-timeline { gap: 0; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-box.is-collapsible .probpr-site-program-timeline::after { background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--fd-canvas) 78%); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-module {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  margin: 40px 0 8px;
  color: var(--fd-ink);
  font: 600 1.25rem/1.3 var(--fd-display);
  letter-spacing: -.01em;
  text-transform: none;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-module:first-child { margin-top: 0; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-module::before { content: ""; flex: none; width: 12px; height: 12px; border-radius: 4px; background: var(--fd-accent); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-module > span { color: var(--fd-muted); font: 600 .875rem/1.3 var(--fd-text); letter-spacing: 0; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-module > strong { flex-basis: 100%; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-module > .probpr-site-program-description { flex-basis: 100%; margin: 4px 0 0; padding-left: 24px; font-family: var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-item {
  position: relative;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 4px 24px;
  padding: 18px 0 18px 32px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-item.without-program-marker { grid-template-columns: minmax(0, 1fr); }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-item::before { content: ""; position: absolute; top: 0; bottom: 0; left: 5px; width: 2px; background: var(--fd-accent-soft-2); pointer-events: none; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-item::after { content: ""; position: absolute; top: 25px; left: 0; width: 12px; height: 12px; border: 2px solid var(--fd-accent); border-radius: 50%; background: var(--fd-canvas); box-sizing: border-box; pointer-events: none; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-time {
  justify-content: flex-start;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--fd-ink);
  font: 600 1rem/1.4 var(--fd-display);
  font-variant-numeric: lining-nums tabular-nums;
  white-space: normal;
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-content h3 { margin: 0; color: var(--fd-ink); font: 600 1.125rem/1.35 var(--fd-display); letter-spacing: -.01em; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-description { margin-top: 6px; color: var(--fd-ink-2); font-size: .9375rem; font-weight: 400; line-height: 1.55; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-lecturer { gap: 10px; margin-top: 10px; color: var(--fd-muted); font: 600 .875rem/1.35 var(--fd-text); text-decoration: none; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-lecturer-photo { width: 32px; height: 32px; flex: 0 0 32px; border-radius: 50%; object-fit: cover; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-lecturer-info { display: grid; gap: 1px; min-width: 0; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-lecturer strong { color: var(--fd-ink); font-weight: 600; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-lecturer :is(span, small) { color: var(--fd-muted); font-weight: 500; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content a.probpr-site-program-lecturer:hover strong { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .16em; }

/* «Розгорнути» controls: quiet ghost buttons; the hidden checkbox gets a visible keyboard focus */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content :is(.probpr-site-program-more, .probpr-site-specialties-more) {
  min-height: 44px;
  margin-top: 20px;
  padding: 10px 18px;
  border: 1.5px solid var(--fd-ink);
  border-radius: 12px;
  background: transparent;
  color: var(--fd-ink);
  font: 600 .9375rem/1.2 var(--fd-text);
}
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content :is(.probpr-site-program-more, .probpr-site-specialties-more):hover { background: var(--fd-ink); color: #FFFFFF; }
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-program-toggle:focus-visible ~ .probpr-site-program-more,
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-specialties-toggle:focus-visible ~ .probpr-site-specialties-more { outline: 3px solid var(--fd-accent); outline-offset: 3px; }

/* Purchase card is not sticky (Stage 9B): the floating support launcher and the cart dock
   sit bottom-right with sizes this file cannot know, so a sticky, internally scrolling card
   could be partly covered. In normal flow every control stays reachable; the cart dock stays
   the only persistent purchase UI. Overrides the shared / bridge sticky rules on this page only. */
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card,
.probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card-sticky {
  position: relative;
  top: auto;
  align-self: start;
  max-height: none;
  overflow: visible;
}

/* Below 1100px: one column — hero, purchase card, content. The card is not sticky. */
@media (max-width: 1099px) {
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid.probpr-site-container {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "hero" "sidebar" "content";
  }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card { margin-top: clamp(24px, 4vw, 40px); }
}

@media (max-width: 760px) {
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-main.has-poster {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "title" "desc" "people" "poster" "facts";
  }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-poster { margin: 28px 0 0; padding: 28px 24px 8px; border-radius: 24px 24px 0 0; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-poster img { max-width: min(100%, 300px); max-height: 300px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-meta { margin-top: 28px; padding: 24px; border-radius: 24px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-event-hero-main.has-poster .probpr-site-event-hero-meta { margin-top: 0; padding-top: 20px; border-radius: 0 0 24px 24px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card { border-radius: 24px; padding-bottom: 20px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > :is(.probpr-site-registration-messages, .probpr-site-muted-box, .probpr-site-waitlist-box, .probpr-site-button, .probpr-site-waitlist-form) { margin-inline: 20px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-registration-form { margin-inline: 8px; padding: 16px; border-radius: 18px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-grid .probpr-site-register-card > .probpr-site-event-support-card-v2 { margin-inline: 8px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-details-grid { grid-template-columns: minmax(0, 1fr); }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-detail-card.is-wide { grid-column: auto; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-item { grid-template-columns: minmax(0, 1fr); gap: 4px; padding-left: 28px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-program-item::after { top: 23px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-event-page-content .probpr-site-hero-documents { padding: 20px; border-radius: 20px; }
  .probpr-site-layout-folio:has(.probpr-site-event-page-shell) .probpr-site-hero-document-actions { flex-direction: column; align-items: stretch; width: 100%; }
}

/* Secondary public pages (Stage 10): Packages, Memberships, Lecturers, About ----
   Every rule is scoped to one page through a hook only that page renders
   (checked against all shared templates and theme overrides):
     Packages     .probpr-site-layout-folio:has(.probpr-package-catalog-section)
     Memberships  .probpr-site-layout-folio:has(.probpr-membership-store-section)
     Lecturers    .probpr-site-layout-folio:has(.probpr-lecturers-directory-section)
     About        .probpr-site-layout-folio:has(.probpr-site-about-actions)
   The four page heads share one scoped rule set through .probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)).
   The generic FOLIO page-head / empty rules above stay as they were for every other page.
   Shared markup, package-card.php, the composition dialog, membership URLs and the
   lecturer query stay canonical. Lecturers uses themes/folio/pages/lecturers.php
   (presentation markup only, same data and calls as the shared template). */

/* Page heads: the provider colour as a band (as the catalogue), titles sized for real names */
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head {
  position: relative;
  overflow: hidden;
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
@media (min-width: 760px) {
  .probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head {
    background:
      radial-gradient(34% 80% at 100% 0%, color-mix(in oklab, var(--fd-accent-lit) 60%, transparent) 0%, transparent 72%),
      var(--fd-accent);
  }
}
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px 48px;
}
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head-inner > div:first-child { min-width: 0; max-width: 100%; }
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head .probpr-site-eyebrow {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 10px;
  width: auto;
  margin: 0;
  color: inherit;
  font: 500 .9375rem/1.35 var(--fd-text);
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head h1 {
  max-width: 14ch;
  margin: clamp(10px, 1.6vw, 20px) 0 0;
  color: inherit;
  font: 600 clamp(3rem, 1.4rem + 5vw, 7rem)/.9 var(--fd-display);
  letter-spacing: -.05em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: balance;
}
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head .probpr-site-page-head-inner > div:first-child h1 { text-align: left; }
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head p {
  max-width: 44ch;
  margin: 18px 0 0;
  color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent);
  font: 400 1.0625rem/1.5 var(--fd-text);
}
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-count { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 0; }
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-count span { color: inherit; font: 500 1rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-count strong { color: inherit; font: 600 clamp(1.75rem, 1.25rem + 1.5vw, 3rem)/1 var(--fd-display); letter-spacing: -.03em; font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
@media (min-width: 760px) {
  .probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-count { display: grid; justify-items: end; gap: 8px; padding-bottom: .3rem; text-align: right; }
}
@media (max-width: 599px) {
  .probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head p { font-size: 1rem; }
}
/* About: the title is the provider's real name, often long */
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-page-head h1 { max-width: 20ch; font-size: clamp(2.5rem, 1.3rem + 3.6vw, 5rem); line-height: .98; letter-spacing: -.04em; }

/* the section under each head: normal flow, no overlap with the band */
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-page-head + .probpr-site-section,
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section,
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section {
  position: static;
  margin-top: 0;
  padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 160px);
  background: transparent;
}

/* Empty states (Packages, Memberships): the canonical message, as the catalogue empty state */
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-empty {
  display: grid;
  justify-items: start;
  gap: 14px;
  padding: clamp(32px, 5vw, 72px);
  border: 0;
  border-radius: 28px;
  background: var(--fd-accent-soft);
  text-align: left;
}
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-empty strong {
  display: block;
  max-width: 15em;
  color: var(--fd-ink);
  font: 600 clamp(1.75rem, 1.25rem + 1.8vw, 3rem)/1.04 var(--fd-display);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.probpr-site-layout-folio:is(:has(.probpr-package-catalog-section), :has(.probpr-membership-store-section), :has(.probpr-lecturers-directory-section), :has(.probpr-site-about-actions)) .probpr-site-empty span { max-width: 34em; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.5; }

/* Packages ---------------------------------------------------------------
   parts/package-card.php unchanged (price, regular total, saving, discount, sold-out,
   «+ ще N» dialog). Light cards on the page; the composition is the accent stage
   (as the Event Detail stage band). provider-site-packages.css loads after this file:
   every rule here is (0,4,0)+ and wins without !important. The CTA is an ink button,
   so the shared forced white label (`color: #fff !important`) always has contrast. */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-catalog-grid { gap: clamp(16px, 2vw, 28px); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 0;
  min-width: 0;
  min-height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 26px;
  background: var(--fd-soft);
  color: var(--fd-ink);
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public::before { display: none; } /* decorative gradient strip */

/* text column */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 3vw, 40px);
}
/* badges: the generic «Пакет» label repeats the page title — only real states stay (as Home) */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-badges { order: 1; gap: 8px; margin: 0 0 14px; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-badges:not(:has(.is-saving, .is-muted)) { display: none; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-badge {
  min-height: 0;
  padding: 5px 10px;
  border: 0;
  border-radius: 8px;
  font: 700 .875rem/1.2 var(--fd-text);
  letter-spacing: 0;
  text-transform: none;
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-badge:not(.is-saving):not(.is-muted) { display: none; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-badge.is-saving { background: var(--fd-ok); color: #FFFFFF; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-badge.is-muted { border: 1px solid var(--fd-line); background: #FFFFFF; color: var(--fd-muted); font-weight: 600; }

.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-heading { order: 2; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-heading h3 {
  max-width: none;
  margin: 0;
  color: var(--fd-ink);
  font: 600 clamp(1.5rem, 1.2rem + .9vw, 2rem)/1.14 var(--fd-display);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-heading p { max-width: 60ch; margin: 10px 0 0; color: var(--fd-ink-2); font-size: .9375rem; line-height: 1.55; }

/* deal: package price strong, the separate-events total muted, the saving in green */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-price {
  order: 3;
  display: flex;
  flex-flow: row wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 20px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--fd-line);
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-price > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-price strong {
  color: var(--fd-ink);
  font: 600 clamp(2rem, 1.5rem + 1.4vw, 2.75rem)/1 var(--fd-display);
  letter-spacing: -.035em;
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-price del { order: 2; color: var(--fd-muted); font: 400 1rem/1.3 var(--fd-text); text-decoration-thickness: 1px; white-space: nowrap; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-price > span { padding: 0; border-radius: 0; background: transparent; color: var(--fd-ok); font: 600 .9375rem/1.3 var(--fd-text); white-space: nowrap; }

/* facts (events count, BPR points, sale end) as a quiet foot line */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-facts { order: 4; display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 12px; color: var(--fd-muted); font: 400 .875rem/1.4 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-facts span { display: inline; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-facts strong { color: var(--fd-ink); font-size: inherit; font-weight: 600; }

/* CTA = fd-btn--dark */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-actions { order: 5; margin-top: 24px; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 26px;
  border: 0;
  border-radius: 12px;
  background: var(--fd-ink);
  font: 600 1rem/1.2 var(--fd-text);
  letter-spacing: -.005em;
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transition: background-color .25s var(--fd-ease), transform .25s var(--fd-ease);
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-button:hover { background: var(--fd-ink-2); box-shadow: none; transform: translateY(-2px); }

/* composition: the first events as a fan of title/date tiles on the accent stage */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-visual {
  order: -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-visual::before,
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-visual::after,
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-visual-kicker { display: none; } /* decorative rings; the region keeps aria-label «Заходи у пакеті» */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event-stack {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(200px, 24vw, 260px);
  margin: 0;
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 50%;
  max-width: 190px;
  aspect-ratio: 4 / 5;
  padding: 14px;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background: #FFFFFF;
  color: var(--fd-ink);
  box-shadow: 0 30px 50px -24px rgba(0, 0, 0, .6);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: translate(-50%, -50%);
  transition: transform .7s var(--fd-ease);
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event > span { display: none; } /* sequence numbers: the fan is not a ranked list (as Home) */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; height: 100%; min-width: 0; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event small { margin: 0; color: var(--fd-accent); font: 600 1rem/1.15 var(--fd-display); letter-spacing: -.02em; font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--fd-ink);
  font: 600 .8125rem/1.3 var(--fd-text);
  overflow-wrap: anywhere;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
}
/* catalog cards preview two events, the single showcase three */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event:nth-child(1) { transform: translate(-92%, -48%) rotate(-11deg); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event:nth-child(2) { z-index: 2; transform: translate(-50%, -54%) rotate(-1deg); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event:nth-child(3) { z-index: 1; transform: translate(-8%, -48%) rotate(9deg); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event:only-child { transform: translate(-50%, -50%) rotate(-3deg); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event:first-child:nth-last-child(2) { transform: translate(-80%, -50%) rotate(-7deg); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-event:nth-child(2):last-child { transform: translate(-20%, -50%) rotate(6deg); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public:hover .probpr-package-card-event:first-child:nth-last-child(2) { transform: translate(-88%, -52%) rotate(-10deg); }
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public:hover .probpr-package-card-event:nth-child(2):last-child { transform: translate(-12%, -48%) rotate(9deg); }
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public:hover .probpr-package-card-event:nth-child(1):nth-last-child(3) { transform: translate(-104%, -50%) rotate(-15deg); }
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public:hover .probpr-package-card-event:nth-child(2):nth-last-child(2) { transform: translate(-50%, -60%) rotate(0deg); }
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public:hover .probpr-package-card-event:nth-child(3):last-child { transform: translate(4%, -50%) rotate(13deg); }
}

/* «+ ще N» keeps the shared dialog trigger (data-probpr-package-dialog-open); look and focus only */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-more {
  margin: 14px 0 0;
  padding: 4px 0;
  border: 0;
  background: none;
  color: var(--fd-on-accent);
  font: 600 .9375rem/1.3 var(--fd-text);
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-underline-offset: .2em;
  cursor: pointer;
}
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-more:hover { color: var(--fd-on-accent); text-decoration-color: transparent; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-more:focus-visible { color: var(--fd-on-accent); outline: 3px solid var(--fd-on-accent); outline-offset: 3px; text-decoration-color: currentColor; }

/* sold out: the shared state, presented muted */
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public.is-sold-out .probpr-package-card-visual { filter: grayscale(1); opacity: .6; }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public.is-sold-out .probpr-package-card-price strong { color: var(--fd-muted); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public.is-sold-out .probpr-package-card-button { background: var(--fd-muted); }
.probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public.is-sold-out .probpr-package-card-button:hover { background: var(--fd-ink-2); transform: none; }

/* one package (showcase variant): composition left (5), text right (7) from 760px */
@media (min-width: 760px) {
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public.is-showcase:has(> .probpr-package-card-visual) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public.is-showcase:has(> .probpr-package-card-visual) .probpr-package-card-visual { grid-column: 1; grid-row: 1; }
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-public.is-showcase:has(> .probpr-package-card-visual) .probpr-package-card-copy { grid-column: 2; grid-row: 1; }
}
@media (max-width: 520px) {
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-button { width: 100%; }
  .probpr-site-layout-folio:has(.probpr-package-catalog-section) .probpr-package-catalog-section .probpr-package-card-price { flex-direction: column; align-items: flex-start; }
}

/* Memberships -------------------------------------------------------------
   Canonical offers, term, price and offer URL; only the cards change: the Home .fd-member
   language — an ink status card, term as the accent label, full real description. */
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: clamp(16px, 2vw, 28px); }
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card {
  position: relative;
  gap: 32px;
  min-width: 0;
  min-height: 300px;
  padding: clamp(24px, 3vw, 36px);
  overflow: hidden;
  border: 0;
  border-radius: 26px;
  background: var(--fd-ink);
  color: var(--fd-on-ink);
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card :focus-visible { outline-color: var(--fd-accent-on-dark); }
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card-main { display: grid; gap: 14px; justify-items: start; min-width: 0; }
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-term {
  width: fit-content;
  max-width: 100%;
  padding: 5px 10px;
  border-radius: 8px;
  background: var(--fd-accent);
  color: var(--fd-on-accent);
  font: 700 .875rem/1.2 var(--fd-text);
  letter-spacing: 0;
  text-transform: none;
}
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-term:empty { display: none; } /* no term data → no empty pill */
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card h2 {
  max-width: 100%;
  margin: 0;
  color: #FFFFFF;
  font: 600 clamp(1.5rem, 1.2rem + .9vw, 2rem)/1.14 var(--fd-display);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}
/* the full real description (shared clamps it to four lines) */
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card p {
  display: block;
  max-width: 60ch;
  margin: 0;
  overflow: visible;
  color: var(--fd-on-ink-muted);
  font-size: .9375rem;
  line-height: 1.55;
  overflow-wrap: break-word;
  -webkit-line-clamp: unset;
}
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 20px;
  padding-top: 22px;
  border-top: 1px solid var(--fd-ink-line);
}
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card-footer > strong {
  color: #FFFFFF;
  font: 600 clamp(1.75rem, 1.4rem + 1vw, 2.25rem)/1.05 var(--fd-display);
  letter-spacing: -.03em;
  font-variant-numeric: lining-nums tabular-nums;
  overflow-wrap: anywhere;
}
.probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card-footer .probpr-site-button { min-height: 48px; border-radius: 12px; }
@media (max-width: 640px) {
  .probpr-site-layout-folio:has(.probpr-membership-store-section) .probpr-membership-store-section .probpr-membership-store-card-footer { flex-direction: column; align-items: stretch; }
}

/* Lecturers ---------------------------------------------------------------
   themes/folio/pages/lecturers.php renders the Home .fd-people grid (2 / 3 / 4 columns,
   never a carousel). Only the section rhythm is page-specific. */
.probpr-site-layout-folio:has(.probpr-lecturers-directory-section) .probpr-lecturers-directory-section .fd-people { margin: 0; padding: 0; list-style: none; }

/* About -------------------------------------------------------------------
   Real provider data only: name, BPR provider number, about text (untrimmed),
   documents, contacts, working hours. Reading column + quiet side panels (as Home .fd-about). */
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-page-head + .probpr-site-section > .probpr-site-about-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
@media (min-width: 1100px) {
  .probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-page-head + .probpr-site-section > .probpr-site-about-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(48px, 6vw, 120px); }
  .probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-grid > .probpr-site-about-card { grid-column: 1; grid-row: 1 / span 2; }
  .probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-grid > .probpr-site-docs-card { grid-column: 2; }
}
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-grid > .probpr-site-about-card {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-card .probpr-site-section-head { display: block; margin: 0 0 clamp(24px, 3vw, 40px); text-align: left; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-card .probpr-site-section-head > div { display: block; width: auto; text-align: left; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) :is(.probpr-site-about-card .probpr-site-section-head, .probpr-site-docs-card) .probpr-site-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: auto;
  margin: 0;
  color: var(--fd-ink-2);
  font: 600 1rem/1.3 var(--fd-text);
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-card .probpr-site-section-head .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--fd-accent); }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-card .probpr-site-section-head h2 {
  max-width: 22ch;
  margin: 14px 0 0;
  color: var(--fd-ink);
  font: 600 clamp(2rem, 1.4rem + 2vw, 3.25rem)/1.05 var(--fd-display);
  letter-spacing: -.035em;
  text-align: left;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: balance;
}

/* provider rich text as written: comfortable reading width, safe for tables / media / embeds */
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content { max-width: 68ch; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.75; text-align: left; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content > * + * { margin-top: 1em; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content p { margin: 0; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content > :first-child { margin-top: 0; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content :is(h2, h3, h4) { margin: 1.6em 0 0; color: var(--fd-ink); font: 600 1.375rem/1.3 var(--fd-display); letter-spacing: -.015em; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content :is(ul, ol) { padding-left: 1.25em; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content ul { list-style: disc; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content ol { list-style: decimal; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content li + li { margin-top: .4em; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content li::marker { color: var(--fd-accent); }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content :is(strong, b) { color: var(--fd-ink); font-weight: 600; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content a { color: var(--fd-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content blockquote { margin-inline: 0; padding-left: 20px; border-left: 3px solid var(--fd-accent); color: var(--fd-ink); }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content :is(img, video, iframe, embed, object) { max-width: 100%; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content :is(img, video) { height: auto; border-radius: 16px; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content figure { max-width: 100%; margin-inline: 0; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9375rem; line-height: 1.5; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content :is(th, td) { padding: 10px 12px; border: 1px solid var(--fd-line); text-align: left; vertical-align: top; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-content pre { max-width: 100%; overflow-x: auto; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-actions { margin-top: clamp(28px, 3vw, 40px); }

/* documents / contacts = Home .fd-about__card panels */
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-about-grid > .probpr-site-docs-card {
  display: grid;
  align-content: start;
  gap: 14px;
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  border: 0;
  border-radius: 24px;
  background: var(--fd-soft);
  box-shadow: none;
}
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-docs-card h2 { margin: 0; color: var(--fd-ink); font: 600 1.375rem/1.25 var(--fd-display); letter-spacing: -.015em; text-align: left; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-docs-card > p { margin: 0; color: var(--fd-ink-2); font-size: .9375rem; line-height: 1.55; text-align: left; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-docs-card .probpr-site-doc-links { display: grid; gap: 8px; margin-top: 4px; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-docs-card .probpr-site-doc-links a {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 14px 16px;
  border: 0;
  border-radius: 14px;
  background: #FFFFFF;
  color: var(--fd-ink);
  text-decoration: none;
  box-shadow: none;
  transition: box-shadow .25s var(--fd-ease);
}
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-docs-card .probpr-site-doc-links a:hover { border-color: transparent; box-shadow: inset 0 0 0 1.5px var(--fd-ink); transform: none; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-docs-card .probpr-site-doc-links span { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); overflow-wrap: anywhere; }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-docs-card .probpr-site-doc-links small { color: var(--fd-muted); font: 500 .8125rem/1.3 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-about-actions) .probpr-site-docs-card .probpr-site-muted-box { padding: 14px 16px; border: 0; border-radius: 14px; background: #FFFFFF; color: var(--fd-ink-2); font: 500 .9375rem/1.5 var(--fd-text); text-align: left; overflow-wrap: break-word; }

/* People & trust pages (Stage 11): Lecturer profile, Reviews, Team, Partners ----
   Every rule is scoped to one page root that only that page renders:
     Lecturer profile  .probpr-site-layout-folio:has(.probpr-lecturer-profile-section)  (pages/lecturer.php section)
     Reviews           .probpr-site-layout-folio .probpr-public-reviews  (main.probpr-public-reviews)
     Team / Partners   .probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page)  (main.probpr-team-page / main.probpr-partners-page)
   provider-site-reviews.css and provider-site-site-cms.css load after this file; every rule
   here is (0,3,0)+ and out-ranks them without !important. The site-cms `color … !important`
   on team / partner links is steered through its own --cms-ink property; its
   `text-decoration: none !important` is left alone (underlines are drawn as a background line).
   Markup: themes/folio/pages/{lecturer,reviews,team,partners}.php — presentation-only
   overrides of the shared templates (same data, same calls, no fake fallbacks). */

/* Lecturer profile ------------------------------------------------------- */
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head {
  position: relative;
  overflow: hidden;
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
@media (min-width: 760px) {
  .probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head {
    background:
      radial-gradient(34% 80% at 100% 0%, color-mix(in oklab, var(--fd-accent-lit) 60%, transparent) 0%, transparent 72%),
      var(--fd-accent);
  }
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head-inner { display: block; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head-inner > div:first-child { min-width: 0; max-width: 100%; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head .probpr-site-eyebrow {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 10px;
  width: auto;
  margin: 0;
  color: inherit;
  font: 500 .9375rem/1.35 var(--fd-text);
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head .probpr-site-page-head-inner > div:first-child h1 {
  max-width: 18ch;
  margin: clamp(10px, 1.6vw, 20px) 0 0;
  color: inherit;
  font: 600 clamp(2.75rem, 1.4rem + 4.2vw, 6rem)/.94 var(--fd-display);
  letter-spacing: -.045em;
  text-align: left;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: balance;
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head p {
  max-width: 56ch;
  margin: 20px 0 0;
  color: color-mix(in oklab, var(--fd-on-accent) 86%, transparent);
  font: 500 clamp(1rem, .95rem + .3vw, 1.1875rem)/1.45 var(--fd-text);
  text-align: left;
  overflow-wrap: break-word;
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head + .probpr-lecturer-profile-section {
  position: static;
  margin-top: 0;
  padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 160px);
  background: transparent;
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head + .probpr-lecturer-profile-section > .probpr-lecturer-profile-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(40px, 5vw, 64px); align-items: start; }
@media (min-width: 1100px) {
  .probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-site-page-head + .probpr-lecturer-profile-section > .probpr-lecturer-profile-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(48px, 6vw, 120px); }
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-grid > .probpr-lecturer-profile-card,
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-grid > .probpr-lecturer-profile-history { min-width: 0; box-shadow: none; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-grid > .probpr-lecturer-profile-card { padding: 0; border: 0; border-radius: 0; background: transparent; }

/* photo as an object (natural proportions), bio as the reading column */
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-card .probpr-lecturer-profile-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 3.4vw, 48px); align-items: start; }
@media (min-width: 760px) {
  .probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-card .probpr-lecturer-profile-summary:not(.is-without-bio) { grid-template-columns: minmax(180px, 2fr) minmax(0, 3fr); }
  .probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-card .probpr-lecturer-profile-summary.is-without-bio { grid-template-columns: minmax(0, 320px); }
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-photo { min-width: 0; max-width: 340px; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-photo img {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
  border-radius: 20px;
  box-shadow: var(--fd-shadow-object);
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-photo.is-initials {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 20px;
  background: var(--fd-accent-soft);
  color: var(--fd-accent);
  font: 600 clamp(3.5rem, 2rem + 4vw, 6rem)/1 var(--fd-display);
  letter-spacing: -.05em;
}
@media (max-width: 759px) {
  .probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-photo { max-width: min(100%, 300px); }
}

/* biography: the lecturer's text as written (paragraphs, lists, links, media) */
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio { min-width: 0; max-width: 66ch; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.75; text-align: left; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio > * + * { margin-top: 1em; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio p { margin: 0; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio > :first-child { margin-top: 0; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio :is(h2, h3, h4) { margin: 1.6em 0 0; color: var(--fd-ink); font: 600 1.375rem/1.3 var(--fd-display); letter-spacing: -.015em; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio :is(ul, ol) { padding-left: 1.25em; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio ul { list-style: disc; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio ol { list-style: decimal; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio li + li { margin-top: .4em; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio li::marker { color: var(--fd-accent); }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio :is(strong, b) { color: var(--fd-ink); font-weight: 600; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio a { color: var(--fd-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio blockquote { margin-inline: 0; padding-left: 20px; border-left: 3px solid var(--fd-accent); color: var(--fd-ink); }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio :is(img, video, iframe, embed, object) { max-width: 100%; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio :is(img, video) { height: auto; border-radius: 16px; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9375rem; line-height: 1.5; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-bio :is(th, td) { padding: 10px 12px; border: 1px solid var(--fd-line); text-align: left; vertical-align: top; }

/* participation history: an editorial list of real events (date, title, topics) */
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-grid > .probpr-lecturer-profile-history {
  display: grid;
  align-content: start;
  padding: clamp(24px, 3vw, 36px);
  border: 0;
  border-radius: 24px;
  background: var(--fd-soft);
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history h2 { margin: 0 0 8px; color: var(--fd-ink); font: 600 1.5rem/1.2 var(--fd-display); letter-spacing: -.02em; text-align: left; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history > p { margin: 0; color: var(--fd-ink-2); font-size: .9375rem; line-height: 1.55; text-align: left; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history .probpr-lecturer-profile-event {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 16px 0;
  border-bottom: 1px solid var(--fd-line);
  color: var(--fd-ink);
  text-decoration: none;
}
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history .probpr-lecturer-profile-event:last-child { border-bottom: 0; padding-bottom: 0; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history .probpr-lecturer-profile-event time { color: var(--fd-muted); font: 600 .875rem/1.3 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history .probpr-lecturer-profile-event strong { color: var(--fd-ink); font: 600 1.0625rem/1.35 var(--fd-display); letter-spacing: -.01em; text-decoration: none; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history .probpr-lecturer-profile-event:hover strong { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .16em; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history .probpr-lecturer-profile-topics { display: grid; gap: 4px; margin: 6px 0 0; padding-left: 1.1em; color: var(--fd-ink-2); font-size: .875rem; line-height: 1.45; list-style: disc; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-lecturer-profile-section) .probpr-lecturer-profile-history .probpr-lecturer-profile-topics li::marker { color: var(--fd-accent); }

/* Reviews ----------------------------------------------------------------- */
.probpr-site-layout-folio .probpr-public-reviews { min-height: 0; background: var(--fd-canvas); color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-wrap { width: 100%; max-width: calc(var(--fd-max) + 2 * var(--fd-gutter)); margin-inline: auto; padding-inline: var(--fd-gutter); }

/* hero: accent band (as the other FOLIO page heads), the canonical summary on a white panel */
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-hero {
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  border: 0;
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-hero-grid { grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: end; }
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-hero-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-intro { min-width: 0; max-width: none; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-kicker { display: flex; align-items: baseline; gap: 10px; margin: 0; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-kicker::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-intro h1 { max-width: 12ch; margin: clamp(10px, 1.6vw, 20px) 0 0; color: inherit; font: 600 clamp(3rem, 1.4rem + 5vw, 7rem)/.9 var(--fd-display); letter-spacing: -.05em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-intro p { max-width: 52ch; margin: 18px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent); font: 400 1.0625rem/1.55 var(--fd-text); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-score {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  gap: 20px 32px;
  max-width: none;
  padding: clamp(22px, 2.6vw, 32px);
  border: 0;
  border-radius: 24px;
  background: #FFFFFF;
  color: var(--fd-ink);
  box-shadow: 0 40px 80px -56px rgba(12, 15, 23, .55);
}
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-score-main > strong { color: var(--fd-ink); font: 600 clamp(3.5rem, 2.6rem + 2.6vw, 5.25rem)/.9 var(--fd-display); letter-spacing: -.05em; font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-stars { margin-top: 12px; color: var(--fd-accent); font-size: 1rem; letter-spacing: .12em; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-score-main small { margin-top: 10px; color: var(--fd-muted); font: 500 .875rem/1.4 var(--fd-text); }
/* distribution: canonical counts; each row stays the rating-filter link */
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-distribution { gap: 4px; align-content: end; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-distribution a { grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem; gap: 10px; min-height: 30px; padding: 0 6px; border-radius: 8px; color: var(--fd-ink-2); font: 600 .875rem/1.2 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; text-decoration: none; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-distribution a:hover { background: var(--fd-soft); color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-distribution a.is-active { background: var(--fd-accent-soft); color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-distribution i { height: 6px; background: var(--fd-soft); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-distribution b { background: var(--fd-ink); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-distribution a.is-active b { background: var(--fd-accent); }
@media (max-width: 599px) {
  .probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-score { grid-template-columns: minmax(0, 1fr); }
}

/* list: the Home reviews language — white quote cards on the accent-soft surface */
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-section { padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 160px); background: transparent; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-toolbar { flex-wrap: wrap; align-items: flex-end; gap: 12px 24px; margin-bottom: clamp(20px, 2.6vw, 32px); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-toolbar span { color: var(--fd-muted); font: 600 .9375rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-toolbar strong { color: var(--fd-ink); font: 600 clamp(1.5rem, 1.2rem + .9vw, 2rem)/1.1 var(--fd-display); letter-spacing: -.025em; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-toolbar > a,
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-empty a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1.5px solid var(--fd-ink);
  border-radius: 12px;
  background: transparent;
  color: var(--fd-ink);
  font: 600 .9375rem/1.2 var(--fd-text);
  text-decoration: none;
}
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-toolbar > a:hover,
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-empty a:hover { background: var(--fd-ink); color: #FFFFFF; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-grid { grid-template-columns: minmax(0, 1fr); gap: var(--fd-gap); padding: clamp(16px, 2.4vw, 32px); border-radius: 28px; background: var(--fd-accent-soft); }
@media (min-width: 760px) {
  .probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-card { gap: 20px; min-width: 0; min-height: 0; padding: clamp(22px, 3vw, 36px); border: 0; border-radius: 24px; background: #FFFFFF; box-shadow: none; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-card-top { flex-wrap: wrap; gap: 8px 16px; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-stars { color: var(--fd-accent); font-size: 1rem; letter-spacing: .12em; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-verified { padding: 5px 10px; border-radius: 8px; background: var(--fd-soft); color: var(--fd-ink-2); font: 600 .8125rem/1.2 var(--fd-text); letter-spacing: 0; text-transform: none; white-space: normal; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-card blockquote { margin: 0; color: var(--fd-ink); font: 400 1.1875rem/1.55 var(--fd-serif); letter-spacing: 0; overflow-wrap: break-word; white-space: pre-line; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-card footer { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--fd-line); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-person > span { flex: 0 0 40px; width: 40px; height: 40px; background: var(--fd-accent-soft); color: var(--fd-accent); font: 600 1rem/1 var(--fd-display); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-person strong { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); overflow-wrap: anywhere; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-person small { overflow: visible; color: var(--fd-muted); font: 500 .875rem/1.35 var(--fd-text); text-overflow: clip; white-space: normal; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-event { gap: 2px; text-align: left; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-event small { color: var(--fd-muted); font: 500 .8125rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-event :is(a, strong) { overflow: visible; color: var(--fd-ink); font: 600 .9375rem/1.35 var(--fd-text); text-overflow: clip; white-space: normal; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-event a { text-decoration: underline; text-decoration-color: var(--fd-line); text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-review-event a:hover { text-decoration-color: currentColor; }
.probpr-site-layout-folio .probpr-public-reviews :is(.probpr-public-review-event time, .probpr-public-review-card footer > time) { color: var(--fd-muted); font: 500 .8125rem/1.3 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }

/* empty state: the canonical text */
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-empty { justify-items: start; place-items: start; gap: 12px; padding: clamp(32px, 5vw, 72px); border: 0; border-radius: 28px; background: var(--fd-accent-soft); text-align: left; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-empty > span { color: var(--fd-accent); font-size: 2rem; line-height: 1; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-empty h2 { max-width: 18em; margin: 0; color: var(--fd-ink); font: 600 clamp(1.75rem, 1.25rem + 1.8vw, 3rem)/1.04 var(--fd-display); letter-spacing: -.035em; text-wrap: balance; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-empty p { max-width: 40em; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.5; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-empty a { margin-top: 10px; }

/* pagination: the canonical paginate_links() output (site_page + rating kept in the URLs) */
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-pagination { flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: clamp(28px, 3vw, 40px); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-pagination .page-numbers { min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--fd-line); border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 600 .9375rem/1 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-pagination a.page-numbers:hover { border-color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-pagination .page-numbers.current { border-color: var(--fd-ink); background: var(--fd-ink); color: #FFFFFF; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-pagination .page-numbers.dots { border-color: transparent; background: transparent; }

/* closing call: ink panel, fd-btn--light */
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-cta { flex-wrap: wrap; align-items: flex-end; gap: 24px 40px; margin-top: clamp(56px, 7vw, 112px); padding: clamp(28px, 4vw, 56px); border: 0; border-radius: 28px; background: var(--fd-ink); color: var(--fd-on-ink); }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-cta > div { min-width: 0; max-width: 40ch; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-cta span { color: var(--fd-on-ink-muted); font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-cta h2 { margin: 10px 0 0; color: #FFFFFF; font: 600 clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem)/1.08 var(--fd-display); letter-spacing: -.035em; text-wrap: balance; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-cta > a { min-height: 52px; padding: 14px 24px; border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 600 1rem/1.2 var(--fd-text); white-space: normal; }
.probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-cta :focus-visible { outline-color: var(--fd-accent-on-dark); }
@media (max-width: 599px) {
  .probpr-site-layout-folio .probpr-public-reviews .probpr-public-reviews-cta > a { width: 100%; justify-content: center; }
}

/* Team and Partners: shared CMS hero / empty --------------------------------- */
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) { background: var(--fd-canvas); color: var(--fd-ink); }
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-hero {
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  border: 0;
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-kicker { display: flex; align-items: baseline; gap: 10px; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-kicker::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-hero h1 { max-width: 14ch; margin: clamp(10px, 1.6vw, 20px) 0 0; color: inherit; font: 600 clamp(3rem, 1.4rem + 5vw, 7rem)/.9 var(--fd-display); letter-spacing: -.05em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-hero p { max-width: 52ch; margin: 18px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent); font: 400 1.0625rem/1.55 var(--fd-text); }
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-section { padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 160px); background: transparent; }
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-empty { gap: 12px; padding: clamp(32px, 5vw, 72px); border: 0; border-radius: 28px; background: var(--fd-accent-soft); }
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-empty > span { color: var(--fd-muted); font: 600 .8125rem/1.2 var(--fd-text); letter-spacing: .08em; }
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) .probpr-cms-empty h2 { max-width: 18em; margin: 0; color: var(--fd-ink); font: 600 clamp(1.75rem, 1.25rem + 1.8vw, 3rem)/1.04 var(--fd-display); letter-spacing: -.035em; text-wrap: balance; }
/* links: --cms-ink feeds the site-cms colour; the underline is a background line
   (site-cms keeps `text-decoration: none !important`) */
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) :is(.probpr-team-contacts a, .probpr-partner-card a) {
  --cms-ink: var(--fd-ink);
  display: inline;
  margin: 0;
  padding-bottom: 2px;
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat;
  font: 600 .9375rem/1.4 var(--fd-text);
  overflow-wrap: anywhere;
  transition: background-size .25s var(--fd-ease);
}
.probpr-site-layout-folio :is(.probpr-team-page, .probpr-partners-page) :is(.probpr-team-contacts a, .probpr-partner-card a):hover { background-size: 0 1.5px; }

/* Team: people directory, 3 / 2 / 1 columns (site-cms breakpoints), never a carousel */
.probpr-site-layout-folio .probpr-team-page .probpr-team-grid { gap: clamp(36px, 4vw, 56px) var(--fd-gap); }
.probpr-site-layout-folio .probpr-team-page .probpr-team-card { min-width: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.probpr-site-layout-folio .probpr-team-page .probpr-team-photo { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 20px; background: var(--fd-accent-soft); }
.probpr-site-layout-folio .probpr-team-page .probpr-team-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; }
.probpr-site-layout-folio .probpr-team-page .probpr-team-photo.is-empty span { color: var(--fd-accent); font: 600 clamp(3.5rem, 2rem + 4vw, 6rem)/1 var(--fd-display); letter-spacing: -.05em; }
.probpr-site-layout-folio .probpr-team-page .probpr-team-copy { display: grid; gap: 6px; padding: 18px 0 0; }
.probpr-site-layout-folio .probpr-team-page .probpr-team-copy > small { color: var(--fd-muted); font: 500 .9375rem/1.45 var(--fd-text); letter-spacing: 0; text-transform: none; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-team-page .probpr-team-copy h2 { margin: 0; color: var(--fd-ink); font: 600 clamp(1.125rem, 1rem + .4vw, 1.375rem)/1.22 var(--fd-display); letter-spacing: -.018em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio .probpr-team-page .probpr-team-copy p { margin: 6px 0 0; color: var(--fd-ink-2); font-size: .9375rem; line-height: 1.55; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-team-page .probpr-team-contacts { display: grid; justify-items: start; gap: 6px; margin-top: 12px; }

/* Partners: balanced cards, logo marks shown whole (contain) */
.probpr-site-layout-folio .probpr-partners-page .probpr-partners-grid { gap: var(--fd-gap); }
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-card { grid-template-columns: minmax(0, 1fr); align-content: start; align-items: start; gap: 20px; min-width: 0; padding: clamp(20px, 2.6vw, 32px); border: 0; border-radius: 24px; background: var(--fd-soft); }
@media (min-width: 600px) {
  .probpr-site-layout-folio .probpr-partners-page .probpr-partner-card { grid-template-columns: minmax(120px, 180px) minmax(0, 1fr); gap: 28px; }
}
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-logo { height: auto; aspect-ratio: 4 / 3; padding: 18px; border-radius: 16px; background: #FFFFFF; }
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-logo img { width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-logo.is-empty span { color: var(--fd-accent); font: 600 1.75rem/1 var(--fd-display); letter-spacing: -.03em; }
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-card > div:last-child { display: grid; justify-items: start; gap: 8px; min-width: 0; }
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-card small { color: var(--fd-muted); font: 500 .9375rem/1.4 var(--fd-text); letter-spacing: 0; text-transform: none; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-card h2 { margin: 0; color: var(--fd-ink); font: 600 clamp(1.25rem, 1.05rem + .6vw, 1.625rem)/1.2 var(--fd-display); letter-spacing: -.02em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-card p { margin: 0; color: var(--fd-ink-2); font-size: .9375rem; line-height: 1.6; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-partners-page .probpr-partner-card a { margin-top: 6px; }

/* News, Calendar, Library (Stage 12) ---------------------------------------
   Every rule is scoped to one page root that only that page renders:
     News      .probpr-site-layout-folio .probpr-news-page  (section.probpr-news-page)
     Calendar  .probpr-site-layout-folio:has(.probpr-learning-calendar-hero)  (the calendar hero is rendered only by pages/calendar.php)
     Library   .probpr-site-layout-folio .probpr-library-page  (main.probpr-library-page)
   provider-site-news.css, provider-site-learning-index.css and provider-site-site-cms.css
   load after this file; every rule here is (0,3,0)+ and out-ranks them without !important.
   site-cms `color … !important` on the library card / search button is steered through
   --cms-ink and an ink button background. GET forms (s, category), filter chips, reset
   links and site_page pagination stay exactly as rendered. Markup:
   themes/folio/pages/news.php (cards inline, no fake author) and
   themes/folio/parts/calendar-event-card.php (no «PB» tile, <time>, BPR plural). */

/* News -------------------------------------------------------------------- */
.probpr-site-layout-folio .probpr-news-page { padding: clamp(16px, 2vw, 24px) var(--fd-gutter) clamp(96px, 10vw, 160px); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-hero {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 3vw, 40px);
  align-items: end;
  padding: clamp(32px, 5vw, 72px);
  border: 0;
  border-radius: clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-news-page .probpr-news-hero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.probpr-site-layout-folio .probpr-news-page .probpr-news-kicker { display: flex; align-items: baseline; gap: 10px; margin: 0; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-kicker::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-hero h1 { max-width: 12ch; margin: clamp(10px, 1.6vw, 20px) 0 0; color: inherit; font: 600 clamp(3rem, 1.4rem + 5vw, 7rem)/.9 var(--fd-display); letter-spacing: -.05em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-hero-copy > p { max-width: 52ch; margin: 18px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent); font: 400 1.0625rem/1.55 var(--fd-text); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-search label { margin-bottom: 10px; color: inherit; font: 600 .9375rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-search > div { flex-wrap: wrap; gap: 8px; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-search input { flex: 1 1 220px; height: 52px; padding: 0 16px; border: 0; border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 400 1rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-search input:focus { box-shadow: none; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-search input:focus-visible { outline: 3px solid var(--fd-on-accent); outline-offset: 2px; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-search button { height: 52px; padding: 0 24px; border-radius: 12px; background: var(--fd-ink); color: #FFFFFF; font: 600 1rem/1.2 var(--fd-text); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-search button:focus-visible { outline: 3px solid var(--fd-on-accent); outline-offset: 2px; }

/* archive: editorial entries, not tiles; the first story of page 1 leads (order unchanged) */
.probpr-site-layout-folio .probpr-news-page .probpr-news-grid { grid-template-columns: minmax(0, 1fr); gap: clamp(40px, 4vw, 56px) var(--fd-gap); padding-top: clamp(40px, 5vw, 72px); }
@media (min-width: 760px) {
  .probpr-site-layout-folio .probpr-news-page .probpr-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-news-page .probpr-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.probpr-site-layout-folio .probpr-news-page .probpr-news-card { display: flex; flex-direction: column; min-width: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; transition: none; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card:hover { transform: none; box-shadow: none; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-media { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 20px; background: var(--fd-accent-soft); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-media.is-placeholder span { color: var(--fd-accent); font: 600 clamp(4rem, 3rem + 3vw, 6.5rem)/1 var(--fd-display); letter-spacing: -.05em; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-body { flex: 1; min-height: 0; padding: 20px 0 0; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-meta { gap: 4px 14px; color: var(--fd-muted); font: 500 .875rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-meta span:first-child { color: var(--fd-ink); font-weight: 600; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-meta time { font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card h2 { margin: 12px 0 0; font: 600 clamp(1.25rem, 1.1rem + .5vw, 1.5rem)/1.2 var(--fd-display); letter-spacing: -.02em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card h2 a { color: var(--fd-ink); text-decoration: none; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card h2 a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .16em; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-body > p { max-width: 60ch; margin: 10px 0 0; color: var(--fd-ink-2); font-size: .9375rem; line-height: 1.6; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-foot { flex-wrap: wrap; gap: 8px 16px; padding-top: 16px; color: var(--fd-muted); font: 500 .875rem/1.35 var(--fd-text); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-foot > span { min-width: 0; overflow-wrap: anywhere; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-card-foot > a { margin-left: auto; color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
@media (min-width: 760px) {
  .probpr-site-layout-folio .probpr-news-page .probpr-news-grid .probpr-news-card.is-lead { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 3vw, 48px); align-items: center; }
  .probpr-site-layout-folio .probpr-news-page .probpr-news-grid .probpr-news-card.is-lead .probpr-news-card-media { aspect-ratio: 4 / 3; }
  .probpr-site-layout-folio .probpr-news-page .probpr-news-grid .probpr-news-card.is-lead .probpr-news-card-body { padding: 0; }
  .probpr-site-layout-folio .probpr-news-page .probpr-news-grid .probpr-news-card.is-lead h2 { font-size: clamp(1.875rem, 1.2rem + 2vw, 3rem); line-height: 1.06; letter-spacing: -.035em; }
  .probpr-site-layout-folio .probpr-news-page .probpr-news-grid .probpr-news-card.is-lead .probpr-news-card-body > p { font-size: 1.0625rem; }
}

/* pagination: canonical links (site_page + s), FOLIO pills; wraps at 10+ pages */
.probpr-site-layout-folio .probpr-news-page .probpr-news-pagination { flex-wrap: wrap; gap: 8px; padding-top: clamp(40px, 5vw, 64px); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-pagination a { width: auto; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--fd-line); border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 600 .9375rem/1 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-pagination a:hover { border-color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-news-page .probpr-news-pagination a.is-active { border-color: var(--fd-ink); background: var(--fd-ink); color: #FFFFFF; }

/* empty: canonical messages */
.probpr-site-layout-folio .probpr-news-page .probpr-news-empty { display: grid; justify-items: start; gap: 12px; margin-top: clamp(40px, 5vw, 72px); padding: clamp(32px, 5vw, 72px); border: 0; border-radius: 28px; background: var(--fd-accent-soft); text-align: left; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-empty strong { color: var(--fd-ink); font: 600 clamp(1.75rem, 1.25rem + 1.8vw, 3rem)/1.04 var(--fd-display); letter-spacing: -.035em; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-empty p { margin: 0; color: var(--fd-ink-2); font-size: 1.0625rem; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-empty a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; padding: 10px 18px; border: 1.5px solid var(--fd-ink); border-radius: 12px; color: var(--fd-ink); font: 600 .9375rem/1.2 var(--fd-text); text-decoration: none; }
.probpr-site-layout-folio .probpr-news-page .probpr-news-empty a:hover { background: var(--fd-ink); color: #FFFFFF; }

/* Calendar ----------------------------------------------------------------
   Canonical structure kept: month sections (id="month-YYYY-MM") in chronological order,
   each with its own entries; the archive link; the empty state. An editorial agenda. */
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero {
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero .probpr-learning-index-hero-inner { flex-wrap: wrap; align-items: flex-end; gap: 18px 48px; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero .probpr-learning-index-hero-inner > div:first-child { min-width: 0; max-width: 100%; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero .probpr-site-eyebrow { display: flex; align-items: baseline; gap: 10px; margin: 0; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero h1 { max-width: 14ch; margin: clamp(10px, 1.6vw, 20px) 0 0; color: inherit; font: 600 clamp(3rem, 1.4rem + 5vw, 7rem)/.9 var(--fd-display); letter-spacing: -.05em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero p { max-width: 52ch; margin: 18px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent); font: 400 1.0625rem/1.55 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero .probpr-learning-index-stat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; min-width: 0; width: auto; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: left; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero .probpr-learning-index-stat strong { color: inherit; font: 600 clamp(1.75rem, 1.25rem + 1.5vw, 3rem)/1 var(--fd-display); letter-spacing: -.03em; font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-hero .probpr-learning-index-stat span { margin: 0; color: inherit; font: 500 1rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }

.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-index-section { padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 160px); background: transparent; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-index-toolbar.is-calendar { flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-bottom: clamp(28px, 3.4vw, 48px); }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-index-toolbar.is-calendar > span { color: var(--fd-muted); font: 600 .9375rem/1.3 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-index-toolbar .probpr-learning-index-switch { min-height: 44px; padding: 10px 18px; border: 1.5px solid var(--fd-ink); border-radius: 12px; background: transparent; color: var(--fd-ink); font: 600 .9375rem/1.2 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-index-toolbar .probpr-learning-index-switch:hover { background: var(--fd-ink); color: #FFFFFF; }

.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar { gap: clamp(48px, 6vw, 88px); }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-month { grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 900px) {
  .probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-month { grid-template-columns: minmax(160px, 3fr) minmax(0, 9fr); gap: clamp(24px, 4vw, 64px); }
  .probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-month-head { position: sticky; top: calc(var(--fd-header-h) + 20px); align-self: start; }
}
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-month-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-month-head > span { display: none; } /* repeats the month in YYYY-MM; the heading says it in words */
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-month-head h2 { margin: 0; color: var(--fd-ink); font: 600 clamp(1.75rem, 1.4rem + 1vw, 2.25rem)/1.1 var(--fd-display); letter-spacing: -.03em; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-month-head strong { min-width: 0; height: auto; padding: 0; border-radius: 0; background: transparent; color: var(--fd-muted); font: 600 1rem/1.2 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }

.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-items { border-top: 1px solid var(--fd-ink); }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-card {
  grid-template-columns: 64px 72px minmax(0, 1fr) 28px;
  gap: 18px;
  min-width: 0;
  padding: 18px 0;
  border-bottom: 1px solid var(--fd-line);
  color: var(--fd-ink);
  text-decoration: none;
}
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-card.has-no-thumb { grid-template-columns: 64px minmax(0, 1fr) 28px; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-date { text-align: left; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-date time { display: block; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-date strong { color: var(--fd-ink); font: 600 2rem/1 var(--fd-display); letter-spacing: -.03em; font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-date small { margin-top: 6px; color: var(--fd-muted); font: 600 .875rem/1.2 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-thumb { width: 72px; height: 54px; border-radius: 8px; background: var(--fd-soft); }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-main > small { color: var(--fd-muted); font: 500 .875rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-main > strong { color: var(--fd-ink); font: 600 clamp(1.0625rem, 1rem + .3vw, 1.25rem)/1.3 var(--fd-display); letter-spacing: -.01em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-main > span { color: var(--fd-ink-2); font: 500 .875rem/1.35 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-main > span:empty { display: none; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-arrow { color: var(--fd-muted); justify-self: end; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-card:hover .probpr-learning-calendar-main > strong { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .16em; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-card:hover .probpr-learning-calendar-arrow { color: var(--fd-ink); }
@media (max-width: 680px) {
  .probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-card { grid-template-columns: 48px 54px minmax(0, 1fr); gap: 12px; }
  .probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-card.has-no-thumb { grid-template-columns: 48px minmax(0, 1fr); }
  .probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-thumb { width: 54px; height: 48px; }
  .probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-calendar-date strong { font-size: 1.625rem; }
}

.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-index-section .probpr-site-empty { display: grid; justify-items: start; gap: 12px; padding: clamp(32px, 5vw, 72px); border: 0; border-radius: 28px; background: var(--fd-accent-soft); text-align: left; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-index-section .probpr-site-empty strong { display: block; max-width: 15em; color: var(--fd-ink); font: 600 clamp(1.75rem, 1.25rem + 1.8vw, 3rem)/1.04 var(--fd-display); letter-spacing: -.035em; text-wrap: balance; }
.probpr-site-layout-folio:has(.probpr-learning-calendar-hero) .probpr-learning-index-section .probpr-site-empty span { max-width: 34em; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.5; }

/* Library -----------------------------------------------------------------
   Public resources only (the router passes published items); each card keeps its
   canonical public_url. No access state is rendered by the shared page, none is added. */
.probpr-site-layout-folio .probpr-library-page { background: var(--fd-canvas); color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-hero {
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  border: 0;
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
.probpr-site-layout-folio .probpr-library-page .probpr-cms-hero-grid { grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 3vw, 40px); align-items: end; }
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-library-page .probpr-cms-hero-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.probpr-site-layout-folio .probpr-library-page .probpr-cms-kicker { display: flex; align-items: baseline; gap: 10px; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-kicker::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-hero h1 { max-width: 12ch; margin: clamp(10px, 1.6vw, 20px) 0 0; color: inherit; font: 600 clamp(3rem, 1.4rem + 5vw, 7rem)/.9 var(--fd-display); letter-spacing: -.05em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-hero p { max-width: 52ch; margin: 18px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent); font: 400 1.0625rem/1.55 var(--fd-text); }
/* search (GET s + hidden category) as the catalogue finder */
.probpr-site-layout-folio .probpr-library-page .probpr-cms-search { gap: 10px; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-search label { color: inherit; font: 600 .9375rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-search > div { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-search input { min-height: 52px; padding: 0 16px; border: 0; border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 400 1rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-search input:focus-visible { outline: 3px solid var(--fd-on-accent); outline-offset: 2px; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-search button { min-height: 52px; padding: 0 24px; border-radius: 12px; background: var(--fd-ink); font: 600 1rem/1.2 var(--fd-text); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-search button:focus-visible { outline: 3px solid var(--fd-on-accent); outline-offset: 2px; }
@media (max-width: 599px) {
  .probpr-site-layout-folio .probpr-library-page .probpr-cms-search > div { grid-template-columns: minmax(0, 1fr); }
}

.probpr-site-layout-folio .probpr-library-page .probpr-cms-section { padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 160px); background: transparent; }
/* category chips: canonical links (category=…, «Усі» resets); wrap freely when there are many */
.probpr-site-layout-folio .probpr-library-page .probpr-cms-filter-chips { gap: 8px; margin-bottom: clamp(28px, 3.4vw, 48px); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-filter-chips a { display: inline-flex; align-items: center; max-width: 100%; min-height: 40px; padding: 8px 14px; border: 1px solid var(--fd-line); border-radius: 10px; background: #FFFFFF; color: var(--fd-ink); font: 600 .875rem/1.25 var(--fd-text); text-decoration: none; overflow-wrap: anywhere; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-filter-chips a:hover { border-color: var(--fd-ink); background: #FFFFFF; color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-filter-chips a.is-active { border-color: var(--fd-ink); background: var(--fd-ink); color: #FFFFFF; }

.probpr-site-layout-folio .probpr-library-page .probpr-library-grid { gap: clamp(36px, 4vw, 56px) var(--fd-gap); }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card {
  --cms-ink: var(--fd-ink);
  grid-template-rows: auto 1fr;
  min-width: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}
.probpr-site-layout-folio .probpr-library-page .probpr-library-card:hover { transform: none; box-shadow: none; }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card-media { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 20px; background: var(--fd-soft); }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card-media.is-empty { padding: 20px; background: var(--fd-accent-soft); }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card-media b { color: var(--fd-accent); font: 600 clamp(1.5rem, 1.2rem + 1vw, 2.25rem)/1.05 var(--fd-display); letter-spacing: -.03em; text-align: center; text-transform: none; overflow-wrap: anywhere; }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card-copy { gap: 8px; padding: 20px 0 0; }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card-copy small { color: var(--fd-muted); font: 500 .875rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card-copy strong { color: var(--fd-ink); font: 600 clamp(1.25rem, 1.1rem + .5vw, 1.5rem)/1.2 var(--fd-display); letter-spacing: -.02em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card-copy p { max-width: 60ch; color: var(--fd-ink-2); font-size: .9375rem; line-height: 1.6; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card-copy em { justify-self: start; margin-top: 6px; padding-bottom: 2px; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat; color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-library-page .probpr-library-card:hover .probpr-library-card-copy strong { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .16em; }

/* pagination: canonical links (site_page + s + category) */
.probpr-site-layout-folio .probpr-library-page .probpr-cms-pagination { flex-wrap: wrap; gap: 8px; margin-top: clamp(40px, 5vw, 64px); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-pagination a { width: auto; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--fd-line); border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 600 .9375rem/1 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-pagination a:hover { border-color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-pagination a.is-active { border-color: var(--fd-ink); background: var(--fd-ink); color: #FFFFFF; }

/* empty: canonical messages and reset link */
.probpr-site-layout-folio .probpr-library-page .probpr-cms-empty { gap: 12px; padding: clamp(32px, 5vw, 72px); border: 0; border-radius: 28px; background: var(--fd-accent-soft); }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-empty > span { color: var(--fd-muted); font: 600 .8125rem/1.2 var(--fd-text); letter-spacing: .08em; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-empty h2 { max-width: 18em; margin: 0; color: var(--fd-ink); font: 600 clamp(1.75rem, 1.25rem + 1.8vw, 3rem)/1.04 var(--fd-display); letter-spacing: -.035em; text-wrap: balance; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-empty p { color: var(--fd-ink-2); font-size: 1.0625rem; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-empty a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; padding: 10px 18px; border: 1.5px solid var(--fd-ink); border-radius: 12px; color: var(--fd-ink); font: 600 .9375rem/1.2 var(--fd-text); text-decoration: none; }
.probpr-site-layout-folio .probpr-library-page .probpr-cms-empty a:hover { background: var(--fd-ink); color: #FFFFFF; }

/* Package detail (Stage 13) -------------------------------------------------
   CSS only. pages/package.php stays canonical: it computes nothing in FOLIO — price,
   regular total (ProBPR_Event_Package_Service::regular_total), savings, item prices,
   availability, owned items, existing orders and the purchase form (POST,
   probpr_package_nonce, probpr_package_action = add_to_cart | checkout in embed mode,
   payment_method_id) are rendered by the shared template and are not touched here.
   Scope: section.probpr-site-package-section is rendered only by pages/package.php.
   The shared summary is sticky (provider-site.css); here it stays in normal flow. */

.probpr-site-layout-folio .probpr-site-package-section { padding: clamp(16px, 2vw, 24px) 0 clamp(96px, 10vw, 160px); background: var(--fd-canvas); }

/* hero: the package as the accent object, the canonical price on a white tag */
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 3vw, 40px);
  align-items: end;
  margin: 0;
  padding: clamp(32px, 5vw, 72px);
  border: 0;
  border-radius: clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
  box-shadow: none;
}
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-hero { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
}
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-hero > div:first-child { min-width: 0; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-hero .probpr-site-eyebrow { display: flex; align-items: baseline; gap: 10px; margin: 0; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-hero .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-hero h1 {
  max-width: 16ch;
  margin: clamp(10px, 1.6vw, 20px) 0 0;
  color: inherit;
  font: 600 clamp(2.75rem, 1.4rem + 4.2vw, 6rem)/.94 var(--fd-display);
  letter-spacing: -.045em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: balance;
}
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-hero > div:first-child > p { max-width: 62ch; margin: 20px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 86%, transparent); font: 400 1.0625rem/1.6 var(--fd-text); overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-price-card {
  display: grid;
  justify-items: start;
  gap: 6px;
  min-width: 0;
  padding: clamp(22px, 2.6vw, 32px);
  border-radius: 24px;
  background: #FFFFFF;
  color: var(--fd-ink);
  text-align: left;
}
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-old-price { color: var(--fd-muted); font: 500 1.0625rem/1.3 var(--fd-text); text-decoration: line-through; text-decoration-thickness: 1.5px; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-price-card strong { color: var(--fd-ink); font: 600 clamp(2.25rem, 1.8rem + 1.4vw, 3.25rem)/1 var(--fd-display); letter-spacing: -.035em; font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-price-card small { color: var(--fd-ok); font: 600 .9375rem/1.35 var(--fd-text); }

/* canonical page messages (errors / success / info keep their own colours) */
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-messages { display: grid; gap: 8px; margin: clamp(20px, 2.4vw, 32px) 0 0; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-auth-message { --site-text: var(--fd-ink); --site-border: var(--fd-line); border-radius: 14px; font: 500 .9375rem/1.45 var(--fd-text); }

/* layout: composition (reading column) + purchase summary, both in normal flow */
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-layout { grid-template-columns: minmax(0, 1fr); gap: clamp(40px, 5vw, 64px); margin-top: clamp(48px, 6vw, 88px); }
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-layout { grid-template-columns: minmax(0, 7fr) minmax(320px, 4fr); column-gap: clamp(40px, 5vw, 88px); }
}
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-layout > .probpr-site-cart-main { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }

.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-section-heading { flex-wrap: wrap; align-items: end; gap: 12px 24px; margin-bottom: clamp(16px, 2vw, 24px); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-section-heading .probpr-site-eyebrow { display: block; color: var(--fd-muted); font: 600 .9375rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-section-heading h2 { margin: 8px 0 0; color: var(--fd-ink); font: 600 clamp(2rem, 1.5rem + 1.6vw, 3rem)/1.04 var(--fd-display); letter-spacing: -.03em; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-limit { min-height: 0; padding: 6px 10px; border-radius: 8px; background: var(--fd-soft); color: var(--fd-ink-2); font: 600 .875rem/1.3 var(--fd-text); }

/* composition: the canonical order as a numbered editorial list (the package is a sequence) */
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-items { gap: 0; border-top: 1px solid var(--fd-ink); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item {
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 4px 20px;
  align-items: baseline;
  min-width: 0;
  padding: 20px 0;
  border: 0;
  border-bottom: 1px solid var(--fd-line);
  border-radius: 0;
  background: transparent;
}
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item-index { display: block; width: auto; height: auto; border-radius: 0; background: transparent; color: var(--fd-accent); font: 600 1.125rem/1.3 var(--fd-display); font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item-topline { gap: 6px 12px; align-items: baseline; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item-topline :is(a, strong) { color: var(--fd-ink); font: 600 clamp(1.0625rem, 1rem + .3vw, 1.25rem)/1.3 var(--fd-display); letter-spacing: -.01em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
/* only linked items look and act like links (disable_item_links keeps them plain text) */
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item-topline a { text-decoration: underline; text-decoration-color: var(--fd-line); text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item-topline a:hover { text-decoration-color: currentColor; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item-meta { gap: 4px 14px; margin-top: 6px; color: var(--fd-muted); font: 500 .875rem/1.4 var(--fd-text); overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item-price { color: var(--fd-ink); font: 600 1rem/1.3 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; text-align: right; white-space: nowrap; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item.is-owned { border-color: var(--fd-line); background: transparent; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-owned { padding: 4px 9px; border-radius: 8px; background: color-mix(in oklab, var(--fd-ok) 12%, #FFFFFF); color: var(--fd-ok); font: 600 .8125rem/1.2 var(--fd-text); }
@media (max-width: 759px) {
  .probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item { grid-template-columns: 32px minmax(0, 1fr); }
  .probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-item-price { grid-column: 2; margin-top: 6px; text-align: left; }
}

/* purchase summary: ink surface (as the Event Detail card), in normal flow, never sticky */
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-layout > .probpr-site-package-summary {
  position: relative;
  top: auto;
  align-self: start;
  gap: 16px;
  min-width: 0;
  padding: clamp(24px, 2.8vw, 32px);
  border: 0;
  border-radius: 28px;
  background: var(--fd-ink);
  color: var(--fd-on-ink);
  box-shadow: none;
}
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary :focus-visible { outline-color: var(--fd-accent-on-dark); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary > span { color: var(--fd-on-ink-muted); font: 600 .9375rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary > strong { color: #FFFFFF; font: 600 clamp(2.25rem, 1.9rem + 1vw, 2.75rem)/1 var(--fd-display); letter-spacing: -.035em; font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary dl { gap: 0; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary dl div { flex-wrap: wrap; gap: 4px 12px; padding: 11px 0; border-top: 1px solid var(--fd-ink-line); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary dt { color: var(--fd-on-ink-muted); font: 500 .9375rem/1.35 var(--fd-text); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary dd { color: #FFFFFF; font: 600 .9375rem/1.35 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary > p,
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary .probpr-site-package-help,
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary .probpr-site-package-fixed-price-note { color: var(--fd-on-ink-muted); font: 400 .875rem/1.55 var(--fd-text); }
/* actions: canonical links / submit button; filled = accent (the shared label is white) */
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-summary .probpr-site-button { width: 100%; min-height: 54px; border-radius: 14px; font: 600 1rem/1.2 var(--fd-text); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-checkout-form { gap: 10px; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-payment-label { color: var(--fd-on-ink); font: 600 .875rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-checkout-form select { min-height: 48px; border: 0; border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 500 .9375rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-checkout-form select:focus-visible { outline: 3px solid var(--fd-accent-on-dark); outline-offset: 2px; }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-method-note { border: 0; border-radius: 12px; background: rgba(255, 255, 255, .08); color: var(--fd-on-ink-muted); font: 500 .875rem/1.45 var(--fd-text); }
.probpr-site-layout-folio .probpr-site-package-section .probpr-site-package-method-note strong { color: #FFFFFF; }

/* Membership detail (Stage 14) ----------------------------------------------
   CSS only. pages/membership.php stays canonical: price, term label, current status
   (active / scheduled), lifetime check, existing unpaid order, login gate, payment-method
   availability and the checkout form (POST, probpr_membership_nonce,
   probpr_membership_action = checkout, submit button) are rendered by the shared template.
   Scope: section.probpr-membership-product-section is rendered only by that page.
   The shared summary is sticky (provider-site.css); here it stays in normal flow. */

.probpr-site-layout-folio .probpr-membership-product-section { padding: clamp(32px, 4vw, 64px) 0 clamp(96px, 10vw, 160px); background: var(--fd-canvas); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-hero { grid-template-columns: minmax(0, 1fr); gap: clamp(40px, 5vw, 72px); align-items: start; }
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-hero { grid-template-columns: minmax(0, 7fr) minmax(340px, 4fr); column-gap: clamp(48px, 6vw, 120px); }
}

/* copy: editorial title and the offer's own description as a reading column */
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-copy { min-width: 0; padding: 0; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0 0 clamp(20px, 3vw, 40px);
  color: var(--fd-ink-2);
  font: 600 .9375rem/1.3 var(--fd-text);
  text-decoration: underline;
  text-decoration-color: var(--fd-line);
  text-decoration-thickness: 1.5px;
  text-underline-offset: .2em;
}
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-back:hover { color: var(--fd-ink); text-decoration-color: currentColor; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-copy .probpr-site-eyebrow { display: flex; align-items: baseline; gap: 10px; color: var(--fd-ink-2); font: 600 1rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-copy .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--fd-accent); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-copy h1 {
  max-width: 16ch;
  margin: clamp(12px, 1.6vw, 20px) 0 0;
  color: var(--fd-ink);
  font: 600 clamp(2.75rem, 1.4rem + 4.2vw, 6rem)/.94 var(--fd-display);
  letter-spacing: -.045em;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  text-wrap: balance;
}
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-copy > p,
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description { max-width: 66ch; margin: clamp(24px, 3vw, 40px) 0 0; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.75; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description > * + * { margin-top: 1em; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description p { margin: 0; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description > :first-child { margin-top: 0; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description :is(h2, h3, h4) { margin: 1.6em 0 0; color: var(--fd-ink); font: 600 1.375rem/1.3 var(--fd-display); letter-spacing: -.015em; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description :is(ul, ol) { padding-left: 1.25em; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description ul { list-style: disc; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description ol { list-style: decimal; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description li + li { margin-top: .4em; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description li::marker { color: var(--fd-accent); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description :is(strong, b) { color: var(--fd-ink); font-weight: 600; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description a { color: var(--fd-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description blockquote { margin-inline: 0; padding-left: 20px; border-left: 3px solid var(--fd-accent); color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description :is(img, video, iframe, embed, object) { max-width: 100%; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description :is(img, video) { height: auto; border-radius: 16px; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9375rem; line-height: 1.5; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-description :is(th, td) { padding: 10px 12px; border: 1px solid var(--fd-line); text-align: left; vertical-align: top; }

/* summary: the Home membership language — an ink status card, accent edge; never sticky */
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-hero > .probpr-membership-product-summary {
  position: relative;
  top: auto;
  align-self: start;
  gap: 16px;
  min-width: 0;
  padding: clamp(24px, 2.8vw, 32px);
  border: 0;
  border-radius: 28px;
  background: var(--fd-ink);
  color: var(--fd-on-ink);
  box-shadow: inset 0 6px 0 var(--fd-accent);
}
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary :focus-visible { outline-color: var(--fd-accent-on-dark); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary > span { color: var(--fd-on-ink-muted); font: 600 .9375rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary > strong { color: #FFFFFF; font: 600 clamp(2.25rem, 1.9rem + 1vw, 2.75rem)/1 var(--fd-display); letter-spacing: -.035em; font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary dl { border-top: 1px solid var(--fd-ink-line); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary dl > div { flex-wrap: wrap; gap: 4px 16px; padding: 12px 0; border-bottom: 1px solid var(--fd-ink-line); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary dt { color: var(--fd-on-ink-muted); font: 500 .9375rem/1.35 var(--fd-text); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary dd { color: #FFFFFF; font: 600 .9375rem/1.35 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
/* canonical messages (info / success / warning / error keep their own colours) */
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary .probpr-site-auth-message { --site-text: var(--fd-ink); --site-border: var(--fd-line); border-radius: 14px; font: 500 .9375rem/1.45 var(--fd-text); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-messages { display: grid; gap: 8px; }
/* actions: canonical links / submit button; filled = accent (the shared label is white) */
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-summary .probpr-site-button { width: 100%; min-height: 54px; border-radius: 14px; font: 600 1rem/1.2 var(--fd-text); }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-form { margin: 0; }
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-note,
.probpr-site-layout-folio .probpr-membership-product-section .probpr-membership-product-help { color: var(--fd-on-ink-muted); font: 400 .875rem/1.55 var(--fd-text); }

/* Remaining public pages (Stage 18): Archive, News article, Library item, Legal, Not found ----
   Public provider site only. Every rule is scoped to one page root:
     Archive        .probpr-site-layout-folio:has(.probpr-learning-archive-hero)  (the archive hero is rendered only by pages/archive.php)
     News article   .probpr-site-layout-folio .probpr-news-article  (article.probpr-news-article)
     Library item   .probpr-site-layout-folio .probpr-library-item-page  (main.probpr-library-item-page)
     Legal document .probpr-site-layout-folio:has(.probpr-site-legal-head)  (the legal head is rendered only by pages/legal-document.php)
     Not found      .probpr-site-layout-folio .fd-not-found  (.fd-not-found, added by themes/folio/pages/not-found.php)
   Content, URLs, forms (archive GET «s», site_page pagination) and documents are canonical.
   Cart, checkout, payment result, account, login/register, room and cabinet are not styled
   here (FOLIO public-site scope lock). */

/* Archive -------------------------------------------------------------------- */
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero {
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero .probpr-learning-index-hero-inner { flex-wrap: wrap; align-items: flex-end; gap: 18px 48px; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero .probpr-learning-index-hero-inner > div:first-child { min-width: 0; max-width: 100%; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero .probpr-site-eyebrow { display: flex; align-items: baseline; gap: 10px; margin: 0; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero h1 { max-width: 14ch; margin: clamp(10px, 1.6vw, 20px) 0 0; color: inherit; font: 600 clamp(3rem, 1.4rem + 5vw, 7rem)/.9 var(--fd-display); letter-spacing: -.05em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero p { max-width: 52ch; margin: 18px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent); font: 400 1.0625rem/1.55 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero .probpr-learning-index-stat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; min-width: 0; width: auto; padding: 0; border: 0; border-radius: 0; background: transparent; text-align: left; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero .probpr-learning-index-stat strong { color: inherit; font: 600 clamp(1.75rem, 1.25rem + 1.5vw, 3rem)/1 var(--fd-display); letter-spacing: -.03em; font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-hero .probpr-learning-index-stat span { margin: 0; color: inherit; font: 500 1rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-section { padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 160px); background: transparent; }
/* search (GET s, reset link) as the catalogue finder */
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar { flex-wrap: wrap; align-items: flex-end; gap: 16px 24px; margin-bottom: clamp(28px, 3.4vw, 48px); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar form { flex-wrap: wrap; align-items: flex-end; gap: 8px 10px; min-width: 0; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar label { flex: 1 1 260px; min-width: 0; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar label span { color: var(--fd-ink-2); font: 600 .9375rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar input { min-height: 52px; padding: 0 16px; border: 1px solid var(--fd-line); border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 400 1rem/1.3 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar input:focus-visible { outline: 3px solid color-mix(in oklab, var(--fd-accent) 45%, transparent); outline-offset: 1px; border-color: var(--fd-ink); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar button { min-height: 52px; padding: 0 24px; border-radius: 12px; background: var(--fd-ink); color: #FFFFFF; font: 600 1rem/1.2 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar form > a { min-height: 52px; color: var(--fd-ink-2); font: 600 .9375rem/1.2 var(--fd-text); text-decoration: underline; text-underline-offset: .2em; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar .probpr-learning-index-switch { min-height: 44px; padding: 10px 18px; border: 1.5px solid var(--fd-ink); border-radius: 12px; background: transparent; color: var(--fd-ink); font: 600 .9375rem/1.2 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-toolbar .probpr-learning-index-switch:hover { background: var(--fd-ink); color: #FFFFFF; }
/* entries: editorial list (date / type, title, BPR, number) */
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-list { border-top: 1px solid var(--fd-ink); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-row { grid-template-columns: 84px minmax(0, 1fr) auto; gap: 18px 24px; min-width: 0; padding: 20px 0; border-bottom: 1px solid var(--fd-line); color: var(--fd-ink); transition: none; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-row:hover { transform: none; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-row.has-no-poster { grid-template-columns: minmax(0, 1fr) auto; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-poster { width: 84px; height: 64px; border-radius: 8px; background: var(--fd-soft); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-main > strong { color: var(--fd-ink); font: 600 clamp(1.0625rem, 1rem + .3vw, 1.25rem)/1.3 var(--fd-display); letter-spacing: -.01em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-row:hover .probpr-learning-archive-main > strong { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .16em; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-meta span { color: var(--fd-muted); font: 500 .875rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; font-variant-numeric: lining-nums tabular-nums; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-meta span + span::before { content: none; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-meta { gap: 4px 14px; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-badges :is(em, span) { padding: 4px 9px; border-radius: 8px; background: var(--fd-soft); color: var(--fd-ink-2); font: 600 .8125rem/1.2 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-link { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); }
@media (max-width: 680px) {
  .probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-row { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  .probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-row.has-no-poster { grid-template-columns: minmax(0, 1fr); }
  .probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-archive-poster { width: 64px; height: 64px; }
}
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-site-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: clamp(40px, 5vw, 64px); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-site-pagination a { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border: 1px solid var(--fd-line); border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 600 .9375rem/1 var(--fd-text); font-variant-numeric: lining-nums tabular-nums; text-decoration: none; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-site-pagination a:hover { border-color: var(--fd-ink); }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-site-pagination a.is-active { border-color: var(--fd-ink); background: var(--fd-ink); color: #FFFFFF; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-section .probpr-site-empty { display: grid; justify-items: start; gap: 12px; padding: clamp(32px, 5vw, 72px); border: 0; border-radius: 28px; background: var(--fd-accent-soft); text-align: left; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-section .probpr-site-empty strong { display: block; max-width: 15em; color: var(--fd-ink); font: 600 clamp(1.75rem, 1.25rem + 1.8vw, 3rem)/1.04 var(--fd-display); letter-spacing: -.035em; text-wrap: balance; }
.probpr-site-layout-folio:has(.probpr-learning-archive-hero) .probpr-learning-index-section .probpr-site-empty span { max-width: 34em; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.5; }

/* News article ------------------------------------------------------------------ */
.probpr-site-layout-folio .probpr-news-article { padding: clamp(24px, 3vw, 40px) 0 clamp(96px, 10vw, 160px); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-back { display: inline-flex; align-items: center; min-height: 44px; margin: 0 0 clamp(16px, 2.4vw, 32px); color: var(--fd-ink-2); font: 600 .9375rem/1.3 var(--fd-text); text-decoration: underline; text-decoration-color: var(--fd-line); text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-back:hover { color: var(--fd-ink); text-decoration-color: currentColor; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-head { grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: center; padding-bottom: clamp(32px, 4vw, 56px); border-bottom: 1px solid var(--fd-ink); }
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-news-article .probpr-news-article-head { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-copy { min-width: 0; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-meta { gap: 4px 14px; color: var(--fd-muted); font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-meta span:first-child { color: var(--fd-ink); font-weight: 600; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article h1 { max-width: 20ch; margin: 16px 0 0; color: var(--fd-ink); font: 600 clamp(2.5rem, 1.4rem + 3.4vw, 5rem)/1 var(--fd-display); letter-spacing: -.045em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; text-wrap: balance; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-lead { max-width: 60ch; margin: 22px 0 0; color: var(--fd-ink-2); font: 400 clamp(1.125rem, 1.05rem + .3vw, 1.3125rem)/1.55 var(--fd-text); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-author { margin-top: 24px; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-author small { color: var(--fd-muted); font: 500 .8125rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-author :is(strong, a) { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-author a { text-decoration: underline; text-decoration-color: var(--fd-line); text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-cover { aspect-ratio: 4 / 3; border-radius: 24px; background: var(--fd-accent-soft); box-shadow: none; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-cover.is-placeholder span { color: var(--fd-accent); font: 600 clamp(5rem, 3.5rem + 5vw, 9rem)/1 var(--fd-display); letter-spacing: -.05em; }
/* body: the article as written, a reading column; safe tables / media / embeds */
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-layout { grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 4vw, 56px); padding-top: clamp(40px, 5vw, 64px); }
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-news-article .probpr-news-article-layout { grid-template-columns: minmax(0, 68ch) minmax(200px, 260px); justify-content: space-between; }
}
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose { max-width: 68ch; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.75; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose :is(h2, h3, h4) { margin: 1.6em 0 .5em; color: var(--fd-ink); font-family: var(--fd-display); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose h2 { font-size: clamp(1.625rem, 1.4rem + .8vw, 2rem); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose h3 { font-size: 1.375rem; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose h4 { font-size: 1.125rem; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose a { color: var(--fd-ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose li::marker { color: var(--fd-accent); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--fd-accent); background: transparent; color: var(--fd-ink); font: 400 1.1875rem/1.55 var(--fd-serif); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose :is(img, video, iframe, embed, object) { max-width: 100%; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose :is(img, video) { height: auto; border-radius: 16px; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose table { display: block; width: auto; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9375rem; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose :is(th, td) { padding: 10px 12px; border: 1px solid var(--fd-line); vertical-align: top; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-prose pre { max-width: 100%; overflow-x: auto; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-aside { position: static; border-top: 1px solid var(--fd-ink); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-aside > div { border-bottom-color: var(--fd-line); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-aside span { color: var(--fd-muted); font: 500 .875rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-article-aside strong { color: var(--fd-ink); font: 600 .9375rem/1.35 var(--fd-text); overflow-wrap: anywhere; }
/* related programmes / lecturers: canonical links */
.probpr-site-layout-folio .probpr-news-article .probpr-news-related { padding-top: clamp(56px, 7vw, 96px); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-section-head { flex-wrap: wrap; gap: 12px 24px; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-kicker { display: block; margin: 0 0 8px; color: var(--fd-muted); font: 600 .9375rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-section-head h2 { color: var(--fd-ink); font: 600 clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem)/1.05 var(--fd-display); letter-spacing: -.03em; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-section-head > a { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); text-decoration: underline; text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-news-article :is(.probpr-news-related-event, .probpr-news-lecturer-list > a) { min-width: 0; border: 0; border-radius: 18px; background: var(--fd-soft); color: var(--fd-ink); transition: none; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-related-event:hover { transform: none; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-related-event .media { border-radius: 10px; background: #FFFFFF; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-related-event small { color: var(--fd-muted); font: 500 .8125rem/1.35 var(--fd-text); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-related-event strong { color: var(--fd-ink); font: 600 1.0625rem/1.3 var(--fd-display); overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-related-event em { color: var(--fd-ink); font: 600 .875rem/1.3 var(--fd-text); text-decoration: underline; text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-lecturer-list .photo { background: #FFFFFF; color: var(--fd-accent); font-family: var(--fd-display); }
.probpr-site-layout-folio .probpr-news-article .probpr-news-lecturer-list strong { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); overflow-wrap: anywhere; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-lecturer-list small { overflow: visible; color: var(--fd-muted); font-size: .8125rem; text-overflow: clip; white-space: normal; }
.probpr-site-layout-folio .probpr-news-article .probpr-news-lecturer-list > a > b { color: var(--fd-ink); }

/* Library item --------------------------------------------------------------------- */
.probpr-site-layout-folio .probpr-library-item-page { padding-bottom: clamp(96px, 10vw, 160px); background: var(--fd-canvas); color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-back { --cms-muted: var(--fd-ink-2); display: inline-flex; align-items: center; min-height: 44px; margin: clamp(24px, 3vw, 40px) 0 clamp(16px, 2vw, 24px); padding-bottom: 2px; background: linear-gradient(currentColor, currentColor) 0 calc(100% - 10px) / 100% 1.5px no-repeat; font: 600 .9375rem/1.3 var(--fd-text); }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-hero { grid-template-columns: minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); padding: 0 0 clamp(32px, 4vw, 56px); border-bottom: 1px solid var(--fd-ink); }
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-hero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
}
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-copy { min-width: 0; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-meta { gap: 6px 8px; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-meta > * { padding: 4px 9px; border-radius: 8px; background: var(--fd-soft); color: var(--fd-ink-2); font: 600 .8125rem/1.2 var(--fd-text); }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-copy h1 { max-width: 20ch; margin: 16px 0 0; color: var(--fd-ink); font: 600 clamp(2.5rem, 1.4rem + 3.4vw, 5rem)/1 var(--fd-display); letter-spacing: -.045em; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; text-wrap: balance; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-copy > p { max-width: 60ch; margin: 20px 0 0; color: var(--fd-ink-2); font: 400 1.125rem/1.55 var(--fd-text); }
/* the canonical resource link (target _blank, rel noopener); ink button, shared white label */
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-primary-action { min-height: 52px; margin-top: 28px; padding: 0 24px; border-radius: 12px; background: var(--fd-ink); font: 600 1rem/1.2 var(--fd-text); }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-cover { aspect-ratio: 4 / 3; border-radius: 24px; background: var(--fd-accent-soft); }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-cover img { background: #FFFFFF; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-cover.is-empty span { padding: 20px; color: var(--fd-accent); font: 600 clamp(1.75rem, 1.3rem + 1.4vw, 2.75rem)/1.05 var(--fd-display); letter-spacing: -.03em; text-align: center; text-transform: none; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-body { grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 4vw, 56px); margin-top: clamp(40px, 5vw, 64px); padding: 0; border: 0; border-radius: 0; background: transparent; }
@media (min-width: 1100px) {
  .probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-body { grid-template-columns: minmax(0, 68ch) minmax(200px, 260px); justify-content: space-between; }
}
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose { max-width: 68ch; color: var(--fd-ink-2); font-size: 1.0625rem; line-height: 1.75; overflow-wrap: break-word; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose :is(h2, h3, h4) { margin: 1.6em 0 .5em; color: var(--fd-ink); font: 600 1.375rem/1.25 var(--fd-display); letter-spacing: -.015em; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose a { color: var(--fd-ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose li::marker { color: var(--fd-accent); }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose blockquote { margin-inline: 0; padding-left: 20px; border-left: 3px solid var(--fd-accent); color: var(--fd-ink); }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose :is(img, video, iframe, embed, object) { max-width: 100%; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose :is(img, video) { height: auto; border-radius: 16px; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9375rem; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-cms-prose :is(th, td) { padding: 10px 12px; border: 1px solid var(--fd-line); text-align: left; vertical-align: top; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-body aside { gap: 0; border-top: 1px solid var(--fd-ink); border-radius: 0; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-body aside > div { padding: 14px 0; border-bottom: 1px solid var(--fd-line); background: transparent; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-body aside span { color: var(--fd-muted); font: 500 .875rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio .probpr-library-item-page .probpr-library-item-body aside strong { color: var(--fd-ink); font: 600 .9375rem/1.35 var(--fd-text); overflow-wrap: anywhere; }

/* Legal document ----------------------------------------------------------------------- */
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head {
  position: relative;
  overflow: hidden;
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head .probpr-site-page-head-inner { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 48px; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head .probpr-site-page-head-inner > div:first-child { min-width: 0; max-width: 100%; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head .probpr-site-eyebrow { display: flex; align-items: baseline; justify-content: flex-start; gap: 10px; width: auto; margin: 0; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-align: left; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head .probpr-site-page-head-inner > div:first-child h1 { max-width: 18ch; margin: clamp(10px, 1.6vw, 20px) 0 0; color: inherit; font: 600 clamp(2.5rem, 1.3rem + 3.6vw, 5rem)/.98 var(--fd-display); letter-spacing: -.04em; text-align: left; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; text-wrap: balance; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head p { max-width: 56ch; margin: 18px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 82%, transparent); font: 400 1.0625rem/1.55 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head .probpr-site-page-count { display: grid; gap: 6px; padding: 0; text-align: left; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head .probpr-site-page-count span { color: inherit; font: 500 .9375rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head .probpr-site-page-count strong { color: inherit; font: 600 1.25rem/1.2 var(--fd-display); letter-spacing: -.01em; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head + .probpr-site-section { position: static; margin-top: 0; padding: clamp(48px, 6vw, 96px) 0 clamp(96px, 10vw, 160px); background: transparent; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head + .probpr-site-section > .probpr-site-container.probpr-site-legal-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 4vw, 56px); align-items: start; }
@media (min-width: 1100px) {
  .probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head + .probpr-site-section > .probpr-site-container.probpr-site-legal-grid { grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr); column-gap: clamp(48px, 6vw, 120px); }
}
/* the document text as generated / provided: a reading column, nothing shortened */
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-card { max-width: 72ch; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-section + .probpr-site-legal-section { margin-top: clamp(28px, 3vw, 40px); padding-top: 0; border-top: 0; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-section h2 { margin: 0 0 12px; color: var(--fd-ink); font: 600 clamp(1.25rem, 1.1rem + .5vw, 1.5rem)/1.25 var(--fd-display); letter-spacing: -.015em; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-section p { color: var(--fd-ink-2); font: 400 1.0625rem/1.75 var(--fd-text); white-space: pre-line; overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-faq div { border: 0; border-radius: 14px; background: var(--fd-soft); color: var(--fd-ink); font: 400 1rem/1.6 var(--fd-text); overflow-wrap: break-word; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-aside { gap: 16px; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) :is(.probpr-site-legal-details-card, .probpr-site-legal-note) { padding: clamp(20px, 2.6vw, 28px); border: 0; border-radius: 20px; background: var(--fd-soft); box-shadow: none; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-details-card h2 { margin: 0 0 12px; color: var(--fd-ink); font: 600 1.125rem/1.25 var(--fd-display); }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-details-card dl div { padding-bottom: 10px; border-bottom: 1px solid var(--fd-line); }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-details-card dt { color: var(--fd-muted); font: 500 .8125rem/1.3 var(--fd-text); letter-spacing: 0; text-transform: none; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-details-card dd { color: var(--fd-ink); font: 600 .9375rem/1.4 var(--fd-text); overflow-wrap: anywhere; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-contact-actions a { min-height: 40px; padding: 8px 14px; border: 1px solid var(--fd-ink); border-radius: 10px; background: #FFFFFF; color: var(--fd-ink); font: 600 .875rem/1.2 var(--fd-text); text-decoration: none; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-contact-actions a.is-primary { border-color: var(--fd-ink); background: var(--fd-ink); color: #FFFFFF; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-note strong { color: var(--fd-ink); font: 600 .9375rem/1.3 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-note span { color: var(--fd-ink-2); font: 400 .875rem/1.5 var(--fd-text); }
/* provider PDF: canonical open / download links and the embedded viewer */
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-head + .probpr-site-legal-pdf-section { padding: clamp(40px, 5vw, 72px) 0 clamp(96px, 10vw, 160px); }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-pdf-card { border: 1px solid var(--fd-line); border-radius: 24px; box-shadow: none; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-pdf-toolbar { flex-wrap: wrap; gap: 12px 18px; border-bottom-color: var(--fd-line); }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-pdf-toolbar strong { color: var(--fd-ink); font: 600 1rem/1.25 var(--fd-display); }
.probpr-site-layout-folio:has(.probpr-site-legal-head) .probpr-site-legal-pdf-toolbar span { color: var(--fd-muted); font: 500 .875rem/1.3 var(--fd-text); white-space: normal; overflow-wrap: anywhere; }
.probpr-site-layout-folio:has(.probpr-site-legal-head) :is(.probpr-site-legal-pdf-actions a, .probpr-site-legal-pdf-fallback a) { min-height: 44px; padding: 10px 16px; border: 1px solid var(--fd-ink); border-radius: 12px; background: #FFFFFF; color: var(--fd-ink); font: 600 .9375rem/1.2 var(--fd-text); }
.probpr-site-layout-folio:has(.probpr-site-legal-head) :is(.probpr-site-legal-pdf-actions a.is-primary, .probpr-site-legal-pdf-fallback a) { background: var(--fd-ink); color: #FFFFFF; }

/* Not found ------------------------------------------------------------------------- */
.probpr-site-layout-folio .fd-not-found {
  padding: clamp(56px, 8vw, 120px) 0 clamp(72px, 9vw, 140px);
  border-radius: 0 0 clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px);
  background: var(--fd-accent);
  color: var(--fd-on-accent);
}
.probpr-site-layout-folio .fd-not-found .probpr-site-eyebrow { display: flex; align-items: baseline; justify-content: flex-start; gap: 10px; width: auto; margin: 0; color: inherit; font: 500 .9375rem/1.35 var(--fd-text); letter-spacing: 0; text-align: left; text-transform: none; }
.probpr-site-layout-folio .fd-not-found .probpr-site-eyebrow::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.probpr-site-layout-folio .fd-not-found .probpr-site-container > h1 { max-width: 14ch; margin: clamp(12px, 1.8vw, 24px) 0 0; color: inherit; font: 600 clamp(3rem, 1.4rem + 5vw, 7rem)/.9 var(--fd-display); letter-spacing: -.05em; text-align: left; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; text-wrap: balance; }
.probpr-site-layout-folio .fd-not-found .probpr-site-container > p { max-width: 52ch; margin: 20px 0 0; color: color-mix(in oklab, var(--fd-on-accent) 86%, transparent); font: 400 1.0625rem/1.55 var(--fd-text); text-align: left; }
.probpr-site-layout-folio .fd-not-found .probpr-site-container > p:last-child { margin-top: clamp(24px, 3vw, 36px); }
/* the catalogue link = fd-btn--dark on the accent band */
.probpr-site-layout-folio .fd-not-found .probpr-site-button { --site-button: var(--fd-ink); min-height: 52px; border-radius: 12px; } /* ink fill: the shared label is white */

/* Shared package card → FOLIO package (home offers) ----------------------- */
/* parts/package-card.php stays canonical: price, regular total, saving, discount,
   sold-out state and the composition dialog come from it unchanged. This block only
   restyles that markup towards the reference .fd-pack. provider-site-packages.css loads
   after this file, so every rule here is scoped .probpr-site-layout-folio .fd-offers …
   (0,3,0)+ and wins without !important; the single exception is the CTA label colour. */

.probpr-site-layout-folio .fd-offers .probpr-package-card-public {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 28px;
  min-width: 0;
  min-height: 0;
  padding: clamp(24px, 3vw, 40px);
  overflow: hidden;
  border: 0;
  border-radius: 26px;
  background: var(--fd-ink-surface);
  color: var(--fd-on-ink);
  box-shadow: none;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-public::before { display: none; }

/* text column */
.probpr-site-layout-folio .fd-offers .probpr-package-card-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
}

/* badges: the generic «Пакет» label repeats the section title — only real states stay */
.probpr-site-layout-folio .fd-offers .probpr-package-card-badges { order: 1; gap: 8px; margin: 0 0 14px; }
.probpr-site-layout-folio .fd-offers .probpr-package-card-badges:not(:has(.is-saving, .is-muted)) { display: none; }
.probpr-site-layout-folio .fd-offers .probpr-package-card-badge {
  min-height: 0;
  padding: 5px 10px;
  border: 0;
  border-radius: 8px;
  font: 700 .875rem/1.2 var(--fd-text);
  letter-spacing: 0;
  text-transform: none;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-badge:not(.is-saving):not(.is-muted) { display: none; }
.probpr-site-layout-folio .fd-offers .probpr-package-card-badge.is-saving { background: var(--fd-ok-on-dark); color: var(--fd-ink); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-badge.is-muted {
  border: 1px solid var(--fd-ink-line);
  background: transparent;
  color: var(--fd-on-ink-muted);
  font-weight: 600;
}

.probpr-site-layout-folio .fd-offers .probpr-package-card-heading { order: 2; }
.probpr-site-layout-folio .fd-offers .probpr-package-card-heading h3 {
  max-width: none;
  margin: 0;
  color: #FFFFFF;
  font: 600 clamp(1.5rem, 1.2rem + .9vw, 2rem)/1.14 var(--fd-display);
  letter-spacing: -.025em;
  overflow-wrap: break-word;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-heading p {
  max-width: none;
  margin: 10px 0 0;
  color: var(--fd-on-ink-muted);
  font-size: .9375rem;
  line-height: 1.55;
}

/* deal: package price strong, the separate-events total muted, the saving in the accent */
.probpr-site-layout-folio .fd-offers .probpr-package-card-price {
  order: 3;
  display: flex;
  flex-flow: row wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 20px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--fd-ink-line);
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-price > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.probpr-site-layout-folio .fd-offers .probpr-package-card-price strong {
  color: #FFFFFF;
  font: 600 clamp(2rem, 1.5rem + 1.4vw, 2.75rem)/1 var(--fd-display);
  letter-spacing: -.035em;
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-price del {
  order: 2;
  color: var(--fd-on-ink-muted);
  font: 400 1rem/1.3 var(--fd-text);
  text-decoration-thickness: 1px;
  white-space: nowrap;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-price > span {
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--fd-accent-on-dark);
  font: 600 .9375rem/1.3 var(--fd-text);
  white-space: nowrap;
}

/* facts (events count, BPR points, sale end) as the quiet reference foot line */
.probpr-site-layout-folio .fd-offers .probpr-package-card-facts {
  order: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
  margin-top: 12px;
  color: var(--fd-on-ink-muted);
  font: 400 .875rem/1.4 var(--fd-text);
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-facts span {
  display: inline;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-facts strong { color: var(--fd-on-ink); font-size: inherit; font-weight: 600; }

/* CTA = fd-btn--primary */
.probpr-site-layout-folio .fd-offers .probpr-package-card-actions { order: 5; margin-top: 24px; }
.probpr-site-layout-folio .fd-offers .probpr-package-card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 26px;
  border: 1.5px solid transparent;
  border-radius: 12px;
  background: var(--fd-accent);
  /* the one !important for Packages: provider-site-packages.css sets `color: #fff !important`;
     the label must follow the contrast-checked provider text colour */
  color: var(--fd-on-accent) !important;
  font: 600 1rem/1.2 var(--fd-text);
  letter-spacing: -.005em;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 12px 26px -14px color-mix(in oklab, var(--fd-accent) 80%, transparent);
  transition: background-color .25s var(--fd-ease), box-shadow .25s var(--fd-ease), transform .25s var(--fd-ease);
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-button:hover {
  background: var(--fd-accent-hover);
  box-shadow: 0 18px 34px -16px color-mix(in oklab, var(--fd-accent) 85%, transparent);
  transform: translateY(-2px);
}

/* composition: the first events as an editorial fan of title/date tiles (no posters in the data) */
.probpr-site-layout-folio .fd-offers .probpr-package-card-visual {
  order: -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: visible;
  background: none;
  color: var(--fd-on-ink);
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-visual::before,
.probpr-site-layout-folio .fd-offers .probpr-package-card-visual::after,
.probpr-site-layout-folio .fd-offers .probpr-package-card-visual-kicker { display: none; } /* the region keeps aria-label «Заходи у пакеті» */
.probpr-site-layout-folio .fd-offers .probpr-package-card-event-stack {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(220px, 30vw, 300px);
  margin: 0;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-event {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 50%;
  max-width: 200px;
  aspect-ratio: 4 / 5;
  padding: 14px;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background: #FFFFFF;
  color: var(--fd-ink);
  box-shadow: 0 30px 50px -24px rgba(0, 0, 0, .75);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  transform: translate(-50%, -50%);
  transition: transform .7s var(--fd-ease);
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-event > span { display: none; } /* sequence numbers: the fan is not a ranked list */
.probpr-site-layout-folio .fd-offers .probpr-package-card-event > div {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  gap: 8px;
  height: 100%;
  min-width: 0;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-event small {
  margin: 0;
  color: var(--fd-accent);
  font: 600 1rem/1.15 var(--fd-display);
  letter-spacing: -.02em;
  font-variant-numeric: lining-nums tabular-nums;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-event strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--fd-ink);
  font: 600 .8125rem/1.3 var(--fd-text);
  overflow-wrap: anywhere;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
}
/* three tiles: the reference fan (spreads on hover); one or two tiles stay balanced */
.probpr-site-layout-folio .fd-offers .probpr-package-card-event:nth-child(1) { transform: translate(-92%, -48%) rotate(-11deg); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-event:nth-child(2) { z-index: 2; transform: translate(-50%, -54%) rotate(-1deg); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-event:nth-child(3) { z-index: 1; transform: translate(-8%, -48%) rotate(9deg); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-event:only-child { transform: translate(-50%, -50%) rotate(-3deg); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-event:first-child:nth-last-child(2) { transform: translate(-80%, -50%) rotate(-7deg); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-event:nth-child(2):last-child { transform: translate(-20%, -50%) rotate(6deg); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-public:hover .probpr-package-card-event:nth-child(1):nth-last-child(3) { transform: translate(-104%, -50%) rotate(-15deg); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-public:hover .probpr-package-card-event:nth-child(2):nth-last-child(2) { transform: translate(-50%, -60%) rotate(0deg); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-public:hover .probpr-package-card-event:nth-child(3):last-child { transform: translate(4%, -50%) rotate(13deg); }

/* «+ ще N» keeps the shared dialog trigger; only its look and focus ring change */
.probpr-site-layout-folio .fd-offers .probpr-package-card-more {
  margin: 12px 0 0;
  padding: 4px 0;
  border: 0;
  background: none;
  color: #FFFFFF;
  font: 600 .9375rem/1.3 var(--fd-text);
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-underline-offset: .2em;
  cursor: pointer;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-more:hover { text-decoration-color: transparent; }
.probpr-site-layout-folio .fd-offers .probpr-package-card-more:focus-visible {
  outline: 3px solid var(--fd-accent-on-dark);
  outline-offset: 3px;
  text-decoration-color: currentColor;
}

/* sold out: the shared state, presented muted */
.probpr-site-layout-folio .fd-offers .probpr-package-card-public.is-sold-out .probpr-package-card-visual { filter: grayscale(1); opacity: .55; }
.probpr-site-layout-folio .fd-offers .probpr-package-card-public.is-sold-out .probpr-package-card-price strong { color: var(--fd-on-ink-muted); }
.probpr-site-layout-folio .fd-offers .probpr-package-card-public.is-sold-out .probpr-package-card-button {
  background: var(--fd-accent);
  box-shadow: none;
  opacity: .6;
}
.probpr-site-layout-folio .fd-offers .probpr-package-card-public.is-sold-out .probpr-package-card-button:hover { transform: none; opacity: .75; }

/* tablet / desktop: composition left (5), text right (7) */
@media (min-width: 760px) {
  .probpr-site-layout-folio .fd-offers .probpr-package-card-public:has(> .probpr-package-card-visual) {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 40px;
  }
  .probpr-site-layout-folio .fd-offers .probpr-package-card-public:has(> .probpr-package-card-visual) .probpr-package-card-visual { grid-column: 1; grid-row: 1; }
  .probpr-site-layout-folio .fd-offers .probpr-package-card-public:has(> .probpr-package-card-visual) .probpr-package-card-copy { grid-column: 2; grid-row: 1; }
}

/* Auth / cart / checkout: no FOLIO skin (public-site scope lock, Stage 19).
   The former visual skin for .probpr-site-auth-section / -cart-section / -payment-section
   and auth / cart / checkout / payment cards was removed: these zones stay standard ProBPR. */

/* Responsive bridge ------------------------------------------------------- */
@media (max-width: 1099px) {
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-page-grid { grid-template-columns: minmax(0,1fr); }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card { grid-column: 1; grid-row: auto; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card-sticky { position: relative; top: auto; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-page-content { grid-column: 1; }
}
@media (max-width: 760px) {
  .probpr-site-layout-folio .probpr-site-container { padding-inline: 20px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head { padding: 54px 0 92px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-head-inner { display: grid; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-page-count { justify-items: start; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-main { grid-template-columns: 1fr; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-actions { align-items: stretch; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-filter-actions button { flex: 1; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-events-specialty-groups { grid-template-columns: 1fr; max-height: min(56vh, 520px); }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-grid { grid-template-columns: 1fr; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card { border-radius: 18px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card.has-poster { display: grid; grid-template-columns: 98px minmax(0,1fr); }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card.has-poster .probpr-site-event-card-visual { aspect-ratio: auto; min-height: 100%; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card.has-poster .probpr-site-event-card-poster { padding: 12px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card-type-badge { top: 8px; left: 8px; max-width: 82px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-card-body { padding: 17px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-main,
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-main.has-poster { display: grid; grid-template-columns: 1fr; padding: 24px; border-radius: 24px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-poster { min-height: auto; max-height: 320px; padding: 14px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-event-hero-poster img { max-height: 290px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card { border-radius: 22px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card > :not(form):not(.probpr-site-registration-messages):not(.probpr-site-muted-box):not(.probpr-site-waitlist-box) { margin-inline: 20px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-register-card form { padding: 20px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-program-box { grid-template-columns: 1fr; gap: 5px; }
  .probpr-site-layout-folio:where(:not(:has(.probpr-site-cart-section:not(.probpr-site-package-section), .probpr-site-payment-section, .probpr-user-cabinet-section, .probpr-site-auth-wrap, .probpr-auth-wrap, .probpr-room-hero, .probpr-room-workspace))) .probpr-site-tariff-grid { grid-template-columns: 1fr; }
}
/* ========================================================================== 
   FOLIO production isolation hotfix (.5.177)
   The approved fd-* prototype relied on its own global reset, while the
   production mini-site also loads the shared provider-site.css. Keep the fix
   theme-scoped so canonical shared pages and every other theme stay untouched.
   ========================================================================== */

/* Native FOLIO home markup: restore only the reset pieces the approved
   prototype depended on. Do not reset arbitrary rich content on shared pages. */
.probpr-site-layout-folio :where(.fd-hero, .fd-section, .fd-offers, .fd-closer, .fd-footer) :where(h1, h2, h3, h4, p, dl, dd, figure, blockquote) {
  margin: 0;
}
.probpr-site-layout-folio :where(.fd-hero__facts, .fd-people, .fd-footer ul) {
  margin: 0;
  padding: 0;
  list-style: none;
}
.probpr-site-layout-folio :where(.fd-quote__text) {
  margin: 0;
}
.probpr-site-layout-folio .fd-poster,
.probpr-site-layout-folio .fd-person__photo img,
.probpr-site-layout-folio .fd-member__logo {
  display: block;
  max-width: 100%;
}

/* Shared provider-site.css has `.probpr-site a { color: inherit; }`, which is
   more specific than one-class fd button rules. Restore the intended FOLIO
   foregrounds explicitly for anchor buttons. */
.probpr-site-layout-folio a.fd-btn--primary { color: var(--fd-on-accent); }
.probpr-site-layout-folio a.fd-btn--dark { color: #FFFFFF; }
.probpr-site-layout-folio a.fd-btn--ghost { color: var(--fd-ink); }
.probpr-site-layout-folio a.fd-btn--light { color: var(--fd-ink); }
.probpr-site-layout-folio a.fd-btn--ghost-light { color: #FFFFFF; }
.probpr-site-layout-folio .fd-closer a.fd-textlink { color: var(--fd-on-accent); }
.probpr-site-layout-folio a.fd-member__more { color: #FFFFFF; }
.probpr-site-layout-folio a.fd-footer__cert { color: #FFFFFF; }
