/* Catalog after the migration (14.10.2026): audience switch, three doors, group sections, closed products and the
   group colours shared with the covers (men: atrament with żar, women: pudrowy róż with róż, couples: mgiełka with żar).
   Loaded only on the catalog, the home page and product pages (shop-catalog.php). Photos keep their own proportions;
   the only circle is the small audience thumbnail Bogumił asked for (14.10). */
:root {
  --aud-men: #17151B;
  --aud-women: #F6E3E3;
  --aud-women-accent: #FF4F9E;
  --aud-couples: #D9E8E4;
}

/* Switch: real links, current group marked with aria-current. */
.km-aud-switch { margin-top: 28px; }
.km-aud-switch ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.km-aud-switch a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--line-strong); border-radius: 999px; color: var(--ink); font-weight: 600; text-decoration: none; background: var(--paper); transition: border-color 160ms ease, background-color 160ms ease; }
.km-aud-switch__n { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: var(--sand); font-size: .8125rem; font-weight: 700; }
.km-aud-switch a[aria-current="page"] { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.km-aud-switch a[aria-current="page"] .km-aud-switch__n { background: rgba(255, 255, 255, .16); color: var(--paper); }
@media (hover: hover) and (pointer: fine) { .km-aud-switch a:hover { border-color: var(--ink); } }
.km-aud-other .km-aud-switch { margin-top: 12px; }

/* Three doors on /kursy/. */
.km-aud-doors { padding-bottom: 8px; }
.km-aud-doors__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.km-aud-door a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; height: 100%; padding: 20px; border-radius: var(--radius-lg); color: var(--ink); text-decoration: none; transition: transform 160ms ease-out; }
.km-aud-door--mezczyzna a { background: var(--aud-men); color: #FFFFFF; }
.km-aud-door--kobiety a { background: var(--aud-women); }
.km-aud-door--kursy-dla-par a { background: var(--aud-couples); }
.km-aud-door__text { display: grid; gap: 4px; }
.km-aud-door__text strong { font-family: var(--font-display); font-weight: 500; font-size: var(--step-1); line-height: 1.15; }
.km-aud-door__text span { font-size: .9375rem; line-height: 1.45; opacity: .86; }
.km-aud-door__go { font-size: 1.5rem; line-height: 1; }
.km-aud-door--mezczyzna .km-aud-door__go { color: var(--ember); }
.km-aud-door--kobiety .km-aud-door__go { color: var(--aud-women-accent); }
@media (hover: hover) and (pointer: fine) { .km-aud-door a:hover { transform: translateY(-2px); } }
.km-aud-door a:active { transform: scale(.97); }
.km-aud-thumb { display: block; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.km-aud-door--mezczyzna .km-aud-thumb { box-shadow: 0 0 0 3px var(--ember); }
.km-aud-door--kobiety .km-aud-thumb { box-shadow: 0 0 0 3px var(--aud-women-accent); }
.km-aud-door--kursy-dla-par .km-aud-thumb { box-shadow: 0 0 0 3px var(--ember); }
@media (max-width: 899px) { .km-aud-doors__list { grid-template-columns: 1fr; } }

/* Group sections. */
.km-aud-section + .km-aud-section { padding-top: 0; }
.km-aud-section__head { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: end; justify-content: space-between; margin-bottom: 20px; }
.km-aud-section__head h2 { margin: 0; }

/* Group chips on the cards. */
.km-chip--mezczyzna { background: var(--aud-men); color: #FFFFFF; }
.km-chip--kobiety { background: var(--aud-women); color: var(--ink); }
.km-chip--kursy-dla-par { background: var(--aud-couples); color: var(--ink); }
.km-product--closed .km-cover { opacity: .72; }
.km-price--closed { font-family: var(--font-text); font-size: 1.0625rem; font-weight: 700; }

/* Product page: the cover in the hero, at its own proportions. */
.km-cover-figure img { display: block; width: 100%; max-width: 440px; height: auto; margin-inline: auto; border-radius: 8px; outline: 1px solid var(--line-soft); outline-offset: -1px; }
.km-lp--course .lp-hero__product span { white-space: normal; }
.km-lp--course .km-lp__objection .lp-ask__said { font-family: var(--font-display); font-size: var(--step-3); line-height: 1.06; margin: 8px 0 0; }
.km-lp--course .km-lp__objection h2 { margin-top: 0; }
.km-lp--kobiety .km-lp__said { border-color: var(--aud-women-accent); }

/* Campaign code in the order summary (KMStore\CatalogSales) and the Omnibus line under a discounted item. */
.km-code { margin: 0 0 16px; }
.km-code__box summary { cursor: pointer; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.km-code__row { display: flex; gap: 10px; margin-top: 10px; }
.km-code__row input { flex: 1; min-height: 44px; text-transform: uppercase; }
.km-code__msg { margin: 8px 0 0; font-size: .875rem; color: var(--muted); }
.km-code__applied { display: flex; gap: 8px; align-items: center; margin: 0; font-size: .9375rem; }
.km-lowest { display: block; margin-top: 4px; font-size: .8125rem; line-height: 1.4; color: var(--muted); font-weight: 500; }

/* Remembered campaign code (e.g. WIOSNA from the conference link). */
.km-campaign { display: flex; gap: 10px; align-items: flex-start; max-width: 640px; margin: 18px 0 0; padding: 12px 16px; border-radius: var(--radius); background: var(--aud-women); font-size: .9375rem; line-height: 1.5; }
.km-lp .km-campaign { margin-top: 14px; }

/* Two sections that used to look the same (Bogumił 14.10): „Trzy rzeczy, zanim kupisz” is one panel with the points
   stacked under each other; „Co się dzieje po zakupie” is a step line (numbered circles joined by a line). Shared by the
   starter landing page and the migrated product pages (same classes). */
.km-lp__honest .wrap { display: grid; gap: 24px; }
@media (min-width: 900px) {
  .km-lp__honest .wrap { grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); align-items: start; gap: clamp(32px, 5vw, 80px); }
  .km-lp__honest .section-head { margin: 0; }
}
.km-lp__honest .km-lp__three { display: block; margin: 0; padding: 4px clamp(20px, 3vw, 34px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }
.km-lp__honest .km-lp__three li { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 16px; padding: 22px 0; border-top: 1px solid var(--line); }
.km-lp__honest .km-lp__three li:first-child { border-top: 0; }
.km-lp__honest .km-lp__three li::before { content: counter(three) "."; grid-row: 1 / span 2; margin: 2px 0 0; font: 500 1.625rem/1 var(--font-display); color: var(--muted); letter-spacing: 0; }
.km-lp__honest .km-lp__three h3 { margin: 0 0 6px; }

.lp-after .lp-after__steps li { position: relative; }
.lp-after .lp-after__steps li::before { display: grid; place-items: center; width: 48px; height: 48px; margin: 0; border: 2px solid var(--ink); border-radius: 50%; background: var(--paper); font: 700 1.125rem/1 var(--font-text); letter-spacing: 0; color: var(--ink); position: relative; z-index: 1; }
.lp-after .lp-after__steps li:not(:last-child)::after { content: ""; position: absolute; left: 23px; top: 52px; bottom: -22px; width: 2px; background: var(--line-strong); }
@media (min-width: 768px) {
  .lp-after .lp-after__steps li::before { margin-bottom: 18px; }
  .lp-after .lp-after__steps li:not(:last-child)::after { left: 60px; right: calc(-1 * clamp(28px, 4vw, 56px) + 8px); top: 23px; bottom: auto; width: auto; height: 2px; }
}

/* Catalog (14.10 round 2): one navigation (the switch), group heads with their lead, more air between groups. */
.km-aud-section { padding-top: clamp(40px, 6vw, 72px); }
.km-aud-section__head { display: grid; gap: 8px; margin-bottom: 24px; }
.km-aud-section__head h2 { margin: 0; }
.km-aud-section__head p { margin: 0; max-width: 640px; color: var(--muted); }
.km-aud-switch a .km-aud-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.km-aud-switch a.is-mezczyzna .km-aud-dot { background: var(--aud-men); box-shadow: 0 0 0 2px var(--ember) inset; }
.km-aud-switch a.is-kobiety .km-aud-dot { background: var(--aud-women-accent); }
.km-aud-switch a.is-kursy-dla-par .km-aud-dot { background: var(--aud-couples); box-shadow: 0 0 0 1.5px var(--ink) inset; }

/* Course facts as separate pills (cards and covers follow the same idea). */
.km-facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.km-facts li { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: .8125rem; font-weight: 600; line-height: 1.2; color: var(--ink); }
