/* Guest Benefits (/guest-experiences-benefits/) — Figma 1173:10534 (.ch-gbp, .ch-redeem, .ch-gbcta v cr.css)
   + detailni stranky benefitu (/cape-smokey-gondola-e-bike-benefits/, /golf-stay/, /ski-stay-package/). */

/* ---------------------------------------------------------------- prehled */
.cr-gbp__intro { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 16px calc(80 * var(--u)); margin-top: calc(40 * var(--u)); }
.ch-gbp .cr-gbp__intro .ch-gbp__p { margin-top: 0; max-width: max(320px, calc(467 * var(--u))); }
.cr-gbp__prog { max-width: max(320px, calc(540 * var(--u))); color: var(--ch-muted); }
.ch-gbp .ch-bcards { margin-top: calc(64 * var(--u)); }

.cr-gbnext { display: grid; grid-template-columns: 544fr 1172fr; gap: 24px; padding-top: calc(64 * var(--u)); padding-bottom: calc(88 * var(--u)); border-top: 1px solid var(--ch-line); }
.cr-gbnext__in .ch-h { margin-top: 20px; }
.cr-gbnext__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; max-width: calc(760 * var(--u) + 120px); color: var(--ch-ink); }
.cr-gbnext__copy .cr-btns { margin-top: 8px; }
.ch-redeem + .cr-gbnext { margin-top: 0; }
.ch-gbcta__img { overflow: hidden; }

/* ---------------------------------------------------------------- detail: cislovane oddily */
.cr-bd { padding-top: calc(64 * var(--u)); padding-bottom: calc(40 * var(--u)); }
.cr-bd__row { display: grid; grid-template-columns: calc(544 * var(--u)) minmax(0, 1fr); gap: 24px calc(120 * var(--u)); padding: calc(56 * var(--u)) 0; border-top: 1px solid var(--ch-line); scroll-margin-top: 96px; }
.cr-bd__row:first-child { border-top: 0; padding-top: 0; }
.cr-bd__side { display: flex; flex-direction: column; gap: 12px; }
.cr-bd__n { font-family: var(--font); font-size: max(28px, calc(48 * var(--u))); line-height: 1; color: var(--ch-red); }
.cr-bd__n span { font-size: .34em; letter-spacing: 1.5px; color: var(--ch-muted); vertical-align: top; }
.cr-bd__h { font-family: var(--font); font-weight: 400; font-size: max(22px, calc(32 * var(--u))); line-height: 1.2; text-transform: uppercase; }
.cr-bd__main { display: flex; flex-direction: column; gap: 20px; max-width: calc(900 * var(--u) + 120px); color: var(--ch-ink); }
.cr-bd__main .ch-lead strong { font-weight: 500; }
.cr-bd__note { padding-left: 20px; border-left: 2px solid var(--ch-red); font-family: var(--ch-roboto); font-style: italic; font-size: max(15px, calc(18 * var(--u))); line-height: 1.55; color: var(--ch-ink); }
.cr-bd__list { display: grid; border-top: 1px solid var(--ch-line); font-family: var(--ch-roboto); font-size: max(15px, calc(17 * var(--u))); line-height: 1.5; }
.cr-bd__list li { position: relative; padding: 12px 0 12px 28px; border-bottom: 1px solid var(--ch-line); }
.cr-bd__list li::before { content: ""; position: absolute; left: 4px; top: calc(12px + .75em); width: 10px; height: 1px; background: var(--ch-red); }
.cr-bd__steps { display: grid; gap: 0; border-top: 1px solid var(--ch-line); font-family: var(--ch-roboto); font-size: max(15px, calc(17 * var(--u))); line-height: 1.5; }
.cr-bd__steps li { display: grid; grid-template-columns: 56px 1fr; gap: 8px; padding: 16px 0; border-bottom: 1px solid var(--ch-line); }
.cr-bd__step { font-family: var(--font); font-size: 22px; line-height: 1.1; color: var(--ch-red); }
.cr-bd__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.cr-bd__price strong { font-family: var(--font); font-weight: 400; font-size: max(30px, calc(56 * var(--u))); line-height: 1.05; color: #000; }
.cr-bd__price span { font-family: var(--ch-roboto); font-weight: 500; font-size: max(12px, calc(14 * var(--u))); letter-spacing: .84px; text-transform: uppercase; color: var(--ch-muted); }
.cr-bd__contacts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-family: var(--ch-roboto); font-weight: 500; font-size: max(15px, calc(18 * var(--u))); line-height: 1.5; }
.cr-bd__contacts a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; overflow-wrap: anywhere; transition: color .2s; }
.cr-bd__contacts a:hover { color: var(--ch-red); }
.cr-bd__contacts span { color: var(--ch-muted); }

.cr-bd__pairs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cr-bd__pair { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid var(--ch-line); }

/* balicky / ceny (styl .ch-rcard z Figmy) */
.cr-pkgs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cr-pkg { display: flex; flex-direction: column; border: 1px solid var(--ch-line); }
.cr-pkg > .ch-card__t { padding: 24px; background: var(--ch-cream); }
.cr-pkg__rows { padding: 8px 24px; }
.cr-pkg__rows > div { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 16px; padding: 14px 0; border-bottom: 1px solid var(--ch-line); }
.cr-pkg__rows > div:last-child { border-bottom: 0; }
.cr-pkg__rows dt { font-family: var(--ch-roboto); font-weight: 500; font-size: max(12px, calc(14 * var(--u))); letter-spacing: .84px; text-transform: uppercase; color: var(--ch-muted); }
.cr-pkg__rows dd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.cr-pkg__rows b { font-family: var(--font); font-weight: 400; font-size: max(26px, calc(40 * var(--u))); line-height: 1.1; color: #000; }
.cr-pkg__rows dd span { font-family: var(--ch-roboto); font-size: max(13px, calc(14 * var(--u))); color: var(--ch-ink); }
.cr-pkg .cr-bd__list { margin: 0 24px 24px; font-size: max(14px, calc(15 * var(--u))); }

/* galerie */
.cr-bdgal { padding-top: calc(64 * var(--u)); padding-bottom: calc(64 * var(--u)); }
.cr-bdgal__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: calc(40 * var(--u)); }
.cr-bdgal__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px 24px; }
.cr-bdgal__grid--2 { grid-template-columns: 1fr 1fr; }
.cr-bdgal .ch-gallery__item figure { display: flex; flex-direction: column; gap: 14px; }
.cr-bdgal .ch-gallery__open img { aspect-ratio: 3 / 2; }
.cr-bdgal figcaption { font-family: var(--ch-roboto); font-size: max(13px, calc(14 * var(--u))); line-height: 1.45; }

/* kontaktni vyzva */
.cr-bdcta { padding-top: calc(24 * var(--u)); padding-bottom: calc(88 * var(--u)); }
.cr-bdcta__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, calc(760 * var(--u) + 80px)); gap: 32px calc(96 * var(--u)); align-items: end; padding: calc(64 * var(--u)) calc(64 * var(--u)); background: var(--ch-cream); }
.cr-bdcta__in .ch-h { max-width: 18ch; }
.cr-bdcta__side { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }

/* dalsi benefity */
.cr-bmore { padding-top: calc(40 * var(--u)); padding-bottom: calc(120 * var(--u)); border-top: 1px solid var(--ch-line); }
.cr-bmore__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-top: calc(64 * var(--u)); }
.cr-bmore__head .ch-h { margin-top: 20px; }
.cr-bmore .ch-bcards { grid-template-columns: repeat(2, 1fr); margin-top: calc(48 * var(--u)); }

@media (max-width: 1279px) {
  .cr-pkgs, .cr-bd__pairs { grid-template-columns: 1fr; }
}
@media (max-width: 1023px) {
  .cr-gbnext { grid-template-columns: 1fr; }
  .cr-bd__row { grid-template-columns: 1fr; }
  .cr-bd__side { flex-direction: row; align-items: baseline; gap: 16px; }
  .cr-bdcta__in { grid-template-columns: 1fr; padding: 40px 32px; }
  .cr-bdgal__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .cr-gbp__intro { margin-top: 20px; }
  .ch-gbp .ch-bcards { margin-top: 32px; }
  .cr-gbnext { padding-top: 40px; padding-bottom: 48px; }
  .cr-bd { padding-top: 32px; }
  .cr-bd__row { padding: 32px 0; }
  .cr-bd__steps li { grid-template-columns: 40px 1fr; }
  .cr-bdgal__grid, .cr-bdgal__grid--2 { grid-template-columns: 1fr; gap: 24px; }
  .cr-bdgal__head { flex-direction: column; align-items: flex-start; }
  .cr-bdcta__in { padding: 32px 20px; }
  .cr-bmore__head { flex-direction: column; align-items: flex-start; }
  .cr-bmore .ch-bcards { grid-template-columns: 1fr; }
  .cr-pkg__rows { padding: 4px 20px; }
  .cr-pkg > .ch-card__t { padding: 20px; }
  .cr-pkg .cr-bd__list { margin: 0 20px 20px; }
}

/* vyrez hero fotky (hlava lyzare nesmi byt pod logem v hlavicce) */
.cr-bd-ski .ch-hero__media img { object-position: 50% 12%; }
.cr-bd-gondola .ch-hero__media img { object-position: 50% 20%; }
.cr-bdcta__in .ch-h { font-size: max(24px, calc(36 * var(--u))); max-width: 24ch; }
.cr-nw { white-space: nowrap; }
.cr-crumbs [aria-current] { display: inline-block; padding: 6px 0; }
