/* Cormorant Rock — pribehy Explore, News & Events (prehled + clanky) a Galerie.
   Bez vlastniho Figma ramce: jazyk ramcu Cormorant Rock (1143:7640, 1169:9556) — grid 1680 (.ch-wrap),
   ostre hrany, tenke linky var(--ch-line), uppercase Montserrat, Roboto text. Rozmery = design px pri 1920. */

/* ================================================================ EXPLORE — pribeh */
.cr-xstory { display: grid; grid-template-columns: 264fr 760fr 560fr; gap: calc(64 * var(--u)); align-items: start; padding-top: calc(96 * var(--u)); padding-bottom: calc(120 * var(--u)); }
.cr-xstory__aside { display: flex; flex-direction: column; gap: 16px; padding-top: 12px; border-top: 1px solid var(--ch-line); }
.cr-xstory__n { font-family: var(--font); font-weight: 300; font-size: max(56px, calc(120 * var(--u))); line-height: 1; letter-spacing: -.02em; color: var(--ch-red); }
.cr-xstory__n span { margin-left: .2em; font-size: .3em; letter-spacing: 0; color: var(--ch-muted); vertical-align: top; }
.cr-xstory__body { display: flex; flex-direction: column; gap: calc(32 * var(--u) + 8px); padding-top: 12px; border-top: 1px solid var(--ch-line); }
.cr-xstory__lead { font-family: var(--font); font-weight: 400; font-size: max(22px, calc(36 * var(--u))); line-height: 1.35; color: #000; text-transform: none; }
.cr-xstory__body .ch-p { color: var(--ch-ink); max-width: 40em; }
.cr-xstory__cta { margin-top: 8px; }
.cr-xstory__fig { display: flex; flex-direction: column; gap: 14px; }
.cr-xstory__fig img { aspect-ratio: 4 / 5; object-fit: cover; }

.cr-xstrip { padding-top: calc(40 * var(--u)); }

/* predchozi / dalsi */
.cr-xnav { display: grid; grid-template-columns: 1fr 1fr; margin-top: calc(120 * var(--u)); border-top: 1px solid var(--ch-line); border-bottom: 1px solid var(--ch-line); }
.cr-xnav__a { display: flex; align-items: center; gap: calc(32 * var(--u) + 8px); padding: calc(32 * var(--u) + 8px) 0; transition: color .2s; }
.cr-xnav__a--next { flex-direction: row-reverse; text-align: right; padding-left: calc(40 * var(--u)); border-left: 1px solid var(--ch-line); }
.cr-xnav__a--prev { padding-right: calc(40 * var(--u)); }
.cr-xnav__img { flex: 0 0 calc(240 * var(--u) + 40px); overflow: hidden; }
.cr-xnav__img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .7s var(--ease); }
.cr-xnav__txt { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.cr-xnav__a--next .cr-xnav__txt { align-items: flex-end; }
.cr-xnav__txt .ch-label { display: inline-flex; align-items: center; gap: 10px; }
.cr-xnav__back { transform: rotate(180deg); }
.cr-xnav__t { font-family: var(--font); font-size: max(19px, calc(28 * var(--u))); line-height: 1.25; text-transform: uppercase; color: #000; transition: color .2s; }
.cr-xnav__n { color: var(--ch-red); }
.cr-xnav__a:hover .cr-xnav__t { color: var(--ch-red); }
.cr-xnav__a:hover img { transform: scale(1.05); }

/* rejstrik vsech pribehu */
.cr-xall { padding-top: calc(120 * var(--u)); padding-bottom: calc(40 * var(--u)); }
.cr-xall__head { display: flex; flex-direction: column; gap: 24px; margin-bottom: calc(48 * var(--u) + 8px); }
.cr-xall__list { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; }
.cr-xall__a { display: flex; flex-direction: column; gap: 12px; height: 100%; }
.cr-xall__img { display: block; overflow: hidden; }
.cr-xall__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform .7s var(--ease), filter .4s; }
.cr-xall__n { display: flex; align-items: center; gap: 10px; padding-top: 12px; border-top: 1px solid var(--ch-line); font-family: var(--ch-roboto); font-weight: 500; font-size: 14px; letter-spacing: .84px; color: var(--ch-red-2); }
.cr-xall__here { padding: 3px 8px; background: var(--ch-ink); color: #fff; font-size: 11px; text-transform: uppercase; }
.cr-xall__t { font-family: var(--font); font-weight: 500; font-size: max(16px, calc(20 * var(--u))); line-height: 1.3; text-transform: uppercase; color: #000; transition: color .2s; }
.cr-xall__a:hover .cr-xall__t { color: var(--ch-red); }
.cr-xall__a:hover img { transform: scale(1.05); }
.cr-xall__item.is-current .cr-xall__n { border-top: 2px solid var(--ch-ink); padding-top: 11px; }
.cr-xall__item.is-current img { filter: saturate(.7); }

/* ================================================================ NEWS — prehled */
.cr-nlist { padding-top: calc(96 * var(--u)); padding-bottom: calc(80 * var(--u)); }
.cr-nlist__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 64px; margin-bottom: calc(48 * var(--u) + 8px); }
.cr-nlist__head .ch-h { margin-top: 24px; }
.cr-nlist__head > .ch-p { flex: 0 0 calc(540 * var(--u) + 60px); color: var(--ch-ink); }
.cr-nlist__feature { margin-bottom: 24px; }
.cr-ncard--big { display: grid; grid-template-columns: 1000fr 680fr; }
.cr-ncard--big .cr-ncard__img img { aspect-ratio: 1000 / 640; height: 100%; }
.cr-ncard--big .cr-ncard__txt { justify-content: flex-end; gap: 20px; padding: calc(48 * var(--u) + 8px); }
.cr-ncard--big .ch-card__t { font-weight: 400; font-size: max(24px, calc(40 * var(--u))); line-height: 1.2; text-transform: uppercase; }
.cr-ncard--big .ch-link { margin-top: 8px; }
.cr-nlist__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.cr-nlist__grid .cr-ncard__img img { aspect-ratio: 400 / 280; }
.cr-ncard .ch-card__t a { overflow-wrap: break-word; }

/* ================================================================ NEWS — clanek */
.cr-ahero__title { width: calc(1040 * var(--u)); }
.cr-ahero__h { font-size: max(32px, calc(56 * var(--u))); line-height: 1.12; }
.cr-ahead { display: grid; grid-template-columns: 840fr 800fr; gap: calc(40 * var(--u) + 24px); align-items: end; padding-top: calc(88 * var(--u) + 24px); padding-bottom: 8px; }
.cr-ahead__txt { display: flex; flex-direction: column; gap: 24px; padding-bottom: 8px; }
.cr-ahead__h { font-size: max(32px, calc(56 * var(--u))); line-height: 1.12; }
.cr-ahead__txt .ch-lead { color: var(--ch-ink); max-width: 36em; }
.cr-ahead__img img { aspect-ratio: 4 / 3; object-fit: cover; }

.cr-art { display: grid; grid-template-columns: 360fr 800fr 520fr; gap: calc(0 * var(--u)); padding-top: calc(80 * var(--u) + 16px); padding-bottom: calc(120 * var(--u)); }
.cr-art__aside { padding-right: 40px; }
.cr-art__meta { position: sticky; top: 104px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 14px; border-top: 1px solid var(--ch-line); }
.cr-art__meta .ch-link { gap: 10px; min-height: 44px; }
.cr-art__back { transform: rotate(180deg); }
.cr-art .cr-prose { grid-column: 2; min-width: 0; }

.cr-prose { font-family: var(--ch-roboto); font-size: max(16px, calc(19 * var(--u))); line-height: 1.7; color: var(--ch-ink); }
.cr-prose > * + *, .cr-nb-content > * + *, .cr-nb-sub > * + * { margin-top: 1.1em; }
.cr-prose p { max-width: 42em; }
.cr-prose .cr-prose__lead { font-family: var(--font); font-size: max(20px, calc(28 * var(--u))); line-height: 1.45; color: #000; }
.cr-prose h2 { margin-top: 2.2em; font-family: var(--font); font-weight: 400; font-size: max(24px, calc(34 * var(--u))); line-height: 1.2; text-transform: uppercase; color: #000; }
.cr-prose h3 { margin-top: 1.8em; font-family: var(--font); font-weight: 500; font-size: max(18px, calc(22 * var(--u))); line-height: 1.3; text-transform: uppercase; color: #000; }
.cr-prose h2 + *, .cr-prose h3 + * { margin-top: .8em; }
.cr-prose ul { display: flex; flex-direction: column; gap: 8px; padding: 0; list-style: none; }
.cr-prose ul li { position: relative; padding-left: 28px; }
.cr-prose ul li::before { content: ""; position: absolute; left: 0; top: .82em; width: 14px; height: 1px; background: var(--ch-red); }
.cr-prose a:not([class]) { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: var(--ch-taupe); overflow-wrap: anywhere; transition: color .2s, text-decoration-color .2s; }
.cr-prose a:not([class]):hover { color: var(--ch-red); text-decoration-color: currentColor; }
.cr-prose strong { font-weight: 600; }
.cr-prose em { font-style: italic; color: var(--ch-muted); }
.cr-prose .cr-prose__fig { margin-top: 2.2em; margin-bottom: 1em; }
.cr-prose .cr-prose__fig img { aspect-ratio: 3 / 2; object-fit: cover; }

/* clanek o guest benefits — vlastni bloky puvodniho clanku */
.cr-nb-sec { padding-top: calc(48 * var(--u) + 8px); margin-top: calc(48 * var(--u) + 8px); border-top: 1px solid var(--ch-line); }
.cr-prose > div > .cr-nb-sec:first-child { padding-top: 0; margin-top: 0; border-top: 0; }
.cr-nb-label { margin-bottom: 18px; }
.cr-nb-content > h2:first-child { margin-top: 0; }
.cr-nb-callout { padding: 22px 0; border-top: 1px solid var(--ch-line); border-bottom: 1px solid var(--ch-line); font-family: var(--font); font-size: max(18px, calc(24 * var(--u))); line-height: 1.4; color: #000; }
.cr-nb-content > .cr-nb-callout { margin-top: 1.6em; }
.cr-nb-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.cr-nb-benefit { display: flex; flex-direction: column; gap: 10px; padding: 24px; border: 1px solid var(--ch-line); background: var(--ch-paper); }
.cr-nb-benefit__v { font-family: var(--font); font-size: max(30px, calc(48 * var(--u))); line-height: 1; text-transform: uppercase; color: var(--ch-red); }
.cr-nb-benefit__d > div { font-family: var(--font); font-weight: 500; text-transform: uppercase; color: #000; }
.cr-nb-benefit__d p { margin-top: 4px; font-size: .9em; color: var(--ch-muted); }
.cr-nb-note { font-size: .9em; color: var(--ch-muted); }
.cr-nb-price { margin-top: 1.4em; border: 1px solid var(--ch-line); background: var(--ch-paper); }
.cr-nb-price + .cr-nb-price { margin-top: 16px; }
.cr-nb-price__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; padding: 18px 24px; border-bottom: 1px solid var(--ch-line); }
.cr-prose .cr-nb-price__t { margin: 0; font-size: max(16px, calc(19 * var(--u))); }
.cr-nb-price__head p { margin: 0; }
.cr-nb-price__meta { font-size: 14px; letter-spacing: .84px; text-transform: uppercase; color: var(--ch-muted); }
.cr-nb-price__row { display: flex; align-items: baseline; gap: 16px; padding: 12px 24px; }
.cr-nb-price__row + .cr-nb-price__row { border-top: 1px solid var(--ch-line-2); }
.cr-nb-price__dur { flex: 1; display: flex; align-items: baseline; gap: 16px; }
.cr-nb-price__dur::after { content: ""; flex: 1; border-bottom: 1px dotted var(--ch-taupe); }
.cr-nb-price__val { font-family: var(--font); font-size: max(20px, calc(26 * var(--u))); color: #000; }
.cr-nb-disc { display: flex; align-items: center; gap: 20px; margin-top: 16px; padding: 18px 24px; background: var(--ch-ink); color: #fff; }
.cr-nb-disc__v { font-family: var(--font); font-size: max(30px, calc(44 * var(--u))); line-height: 1; }
.cr-nb-contacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 16px; }
.cr-prose a.cr-nb-contact { display: flex; flex-direction: column; gap: 6px; padding: 18px 24px; border: 1px solid var(--ch-line); background: var(--ch-paper); transition: border-color .2s, background-color .2s; }
.cr-nb-contact:hover { border-color: var(--ch-ink); background: #fff; }
.cr-nb-contact__v { font-weight: 500; color: #000; overflow-wrap: anywhere; }
.cr-nb-days { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--ch-line); border-bottom: 1px solid var(--ch-line); }
.cr-nb-day { display: flex; flex-direction: column; gap: 8px; padding: 20px 20px 20px 0; }
.cr-nb-day + .cr-nb-day { padding-left: 20px; border-left: 1px solid var(--ch-line); }
.cr-nb-day p { font-size: .95em; }
.cr-nb-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-top: calc(64 * var(--u) + 16px); padding: calc(48 * var(--u) + 8px); background: var(--ch-cream); border-top: 2px solid var(--ch-red); }
.cr-prose .cr-nb-cta__t { margin-top: 0; font-size: max(26px, calc(40 * var(--u))); }
.cr-nb-cta .cr-btns { margin-top: 8px; }
.cr-prose a.ch-btn { text-decoration: none; }

.cr-nmore { padding-bottom: calc(80 * var(--u)); }

/* ================================================================ GALERIE */
.cr-ghero .ch-hero__title { width: calc(960 * var(--u)); }
.cr-gal { padding-top: calc(56 * var(--u) + 16px); padding-bottom: calc(80 * var(--u)); }
.cr-gal__bar { position: sticky; top: 72px; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 14px 0; border-bottom: 1px solid var(--ch-line); background: var(--ch-bg); }
.cr-gal__filter { display: flex; flex-wrap: wrap; gap: 8px; }
.cr-gal__filter[hidden] { display: none; }
.cr-gal__chip { min-height: 44px; padding: 0 18px; border: 1px solid var(--ch-line); font-family: var(--ch-roboto); font-weight: 500; font-size: max(12px, calc(13 * var(--u))); letter-spacing: .84px; text-transform: uppercase; color: var(--ch-muted); transition: background-color .2s, color .2s, border-color .2s; }
.cr-gal__chip:hover { border-color: var(--ch-ink); color: var(--ch-ink); }
.cr-gal__chip[aria-pressed="true"] { border-color: var(--ch-ink); background: var(--ch-ink); color: #fff; }

.cr-gsec { padding-top: calc(96 * var(--u) + 8px); scroll-margin-top: 140px; }
.cr-gsec[hidden] { display: none; }
.cr-gsec__head { display: grid; grid-template-columns: 200fr 760fr 720fr; gap: 16px calc(40 * var(--u)); align-items: start; margin-bottom: calc(48 * var(--u) + 8px); }
.cr-gsec__n { padding-top: 10px; border-top: 1px solid var(--ch-line); font-family: var(--font); font-weight: 300; font-size: max(32px, calc(56 * var(--u))); line-height: 1; color: var(--ch-red); }
.cr-gsec__h { padding-top: 10px; border-top: 1px solid var(--ch-line); }
.cr-gsec__p { padding-top: 14px; border-top: 1px solid var(--ch-line); color: var(--ch-ink); }
.cr-gsec__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: calc(40 * var(--u) + 8px) 24px; }
.cr-gsec__item { grid-column: span 6; }
.cr-gsec__item figure { display: flex; flex-direction: column; gap: 14px; }
.cr-gsec__item img { aspect-ratio: 3 / 2; }
/* editorialni rytmus: siroka + uzsi, pak naopak */
.cr-gsec__item--1 { grid-column: 1 / span 7; }
.cr-gsec__item--2 { grid-column: 8 / span 5; align-self: end; }
.cr-gsec__item--2 img { aspect-ratio: 4 / 5; }
.cr-gsec__item--3 { grid-column: 1 / span 5; }
.cr-gsec__item--3 img { aspect-ratio: 4 / 5; }
.cr-gsec__item--4 { grid-column: 6 / span 7; align-self: end; }
.cr-gsec:nth-of-type(even) .cr-gsec__item--1 { grid-column: 1 / span 5; }
.cr-gsec:nth-of-type(even) .cr-gsec__item--1 img { aspect-ratio: 4 / 5; }
.cr-gsec:nth-of-type(even) .cr-gsec__item--2 { grid-column: 6 / span 7; }
.cr-gsec:nth-of-type(even) .cr-gsec__item--2 img { aspect-ratio: 3 / 2; }
.cr-gsec .ch-gallery__open { display: block; width: 100%; overflow: hidden; cursor: zoom-in; }
.cr-gsec .ch-gallery__open img { width: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.cr-gsec .ch-gallery__open:hover img { transform: scale(1.03); }
.cr-gsec figcaption { display: flex; align-items: center; gap: 12px; font-family: var(--ch-roboto); font-size: max(13px, calc(14 * var(--u))); line-height: 1.45; color: var(--ch-ink); }
.cr-gsec figcaption::before { content: ""; width: 24px; height: 1px; background: var(--ch-red); }

.cr-gfilm { display: flex; flex-direction: column; gap: 14px; margin-top: calc(56 * var(--u) + 16px); }
.cr-gfilm__box { background: var(--ch-ink); }
.cr-gfilm__v { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--ch-ink); }
.cr-gfilm figcaption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; font-family: var(--ch-roboto); font-size: max(13px, calc(14 * var(--u))); line-height: 1.45; color: var(--ch-ink); }

/* ================================================================ tablet */
@media (max-width: 1279px) {
  .cr-nlist__grid { grid-template-columns: 1fr 1fr; }
  .cr-xall__list { grid-template-columns: repeat(3, 1fr); }
  .cr-art { grid-template-columns: 260fr 800fr 120fr; }
}
@media (max-width: 1023px) {
  .cr-xstory { grid-template-columns: 1fr; gap: 32px; padding-top: 56px; padding-bottom: 72px; }
  .cr-xstory__aside { flex-direction: row; align-items: baseline; justify-content: space-between; }
  .cr-xstory__fig { max-width: 560px; }
  .cr-xnav { margin-top: 72px; }
  .cr-xall { padding-top: 72px; }
  .cr-nlist__head { flex-direction: column; align-items: flex-start; }
  .cr-nlist__head > .ch-p { flex-basis: auto; }
  .cr-ncard--big { grid-template-columns: 1fr; }
  .cr-ncard--big .cr-ncard__txt { padding: 28px; }
  .cr-ahero__title { width: auto; }
  .cr-ahead { grid-template-columns: 1fr; padding-top: 56px; }
  .cr-art { grid-template-columns: 1fr; gap: 32px; padding-top: 48px; padding-bottom: 72px; }
  .cr-art .cr-prose { grid-column: auto; }
  .cr-art__aside { padding-right: 0; }
  .cr-art__meta { position: static; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .cr-gsec__head { grid-template-columns: 80px 1fr; }
  .cr-gsec__p { grid-column: 2; border-top: 0; padding-top: 0; }
  .cr-ghero .ch-hero__title { width: auto; }
}

/* ================================================================ telefon */
@media (max-width: 767px) {
  .cr-xstory { padding-top: 40px; padding-bottom: 56px; }
  .cr-xstory__lead { font-size: 22px; }
  .cr-xstory__cta .ch-btn { width: 100%; justify-content: space-between; }
  .cr-xnav { grid-template-columns: 1fr; margin-top: 56px; }
  .cr-xnav__a, .cr-xnav__a--next { flex-direction: row; text-align: left; padding: 20px 0; border-left: 0; }
  .cr-xnav__a--next { border-top: 1px solid var(--ch-line); }
  .cr-xnav__a--next .cr-xnav__txt { align-items: flex-start; }
  .cr-xnav__img { flex-basis: 112px; }
  .cr-xnav__t { font-size: 17px; }
  .cr-xall { padding-top: 56px; }
  .cr-xall__list { grid-template-columns: 1fr 1fr; gap: 28px 12px; }
  .cr-xall__t { font-size: 15px; }
  .cr-xall__n { flex-wrap: wrap; }

  .cr-nlist { padding-top: 48px; }
  .cr-nlist__grid { grid-template-columns: 1fr; }
  .cr-ncard--big .cr-ncard__txt { padding: 24px; }
  .cr-ncard--big .ch-card__t { font-size: 22px; }
  .cr-ahero__h, .cr-ahead__h { font-size: clamp(24px, 7.4vw, 30px); overflow-wrap: break-word; }
  .cr-ahero .ch-hero__in { bottom: 32px; }
  .cr-ahead { padding-top: 32px; gap: 24px; }
  .cr-art { padding-top: 32px; padding-bottom: 56px; }
  .cr-prose h2 { margin-top: 1.8em; }
  .cr-nb-benefits, .cr-nb-contacts { grid-template-columns: 1fr; }
  .cr-nb-days { grid-template-columns: 1fr; }
  .cr-nb-day, .cr-nb-day + .cr-nb-day { padding: 16px 0; border-left: 0; }
  .cr-nb-day + .cr-nb-day { border-top: 1px solid var(--ch-line); }
  .cr-nb-price__head, .cr-nb-price__row { padding-inline: 16px; }
  .cr-nb-cta { padding: 28px 20px; }
  .cr-nb-cta .ch-btn { width: 100%; justify-content: space-between; }

  .cr-gal__bar { top: 72px; flex-wrap: nowrap; gap: 12px; margin-inline: calc(-1 * var(--ch-gut)); padding-inline: var(--ch-gut); }
  .cr-gal__count { display: none; }
  .cr-gal__filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .cr-gal__filter::-webkit-scrollbar { display: none; }
  .cr-gal__chip { flex: none; white-space: nowrap; }
  .cr-gsec { padding-top: 56px; }
  .cr-gsec__head { grid-template-columns: 1fr; gap: 12px; }
  .cr-gsec__n { border-top: 0; padding-top: 0; font-size: 28px; }
  .cr-gsec__p { grid-column: auto; }
  .cr-gsec__grid { grid-template-columns: 1fr; gap: 28px; }
  .cr-gsec__grid > .cr-gsec__item, .cr-gsec:nth-of-type(even) .cr-gsec__grid > .cr-gsec__item { grid-column: auto; }
  .cr-gsec .cr-gsec__item img { aspect-ratio: 3 / 2; }
}

/* plna hlavicka na strankach bez tmaveho hera (solidHeader) — cr.js pri scrollY < 60 odebere .is-solid,
   tady drzime plnou barvu i nahore (jen na strankach se stories.css) */
.ch-hd--solid .ch-hd__bar { height: 72px; background-color: rgba(23, 35, 31, .94); }
.ch-hd--solid .ch-hd__brand { top: 10px; width: 100px; }
@media (min-width: 1280px) { .ch-hd--solid .ch-hd__brand { opacity: 0; visibility: hidden; } }
@media (max-width: 767px) { .ch-hd--solid .ch-hd__brand { top: 12px; width: 88px; } .cr-xstory__n { white-space: nowrap; } }
