/* Where to stay — Figma 655:2939. Hodnoty v calc(N * var(--u)) = design px pri 1920. Prefix st- */

.st-hero__img { object-position: 50% 24%; }

/* ---------------------------------------------------------------- vyber ubytovani (1111–2100) */
.st-pick { position: relative; isolation: isolate; background: var(--c-navy-2); overflow: hidden; min-height: calc(989 * var(--u)); display: flex; align-items: center; padding: 0 0 calc(90 * var(--u)); }
.st-pick__bg { position: absolute; inset: 0; z-index: -1; }
.st-pick__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; }
.st-pick__bg::after { content: ""; position: absolute; inset: 0; background: rgba(2, 22, 117, .50); }
.st-pick__rail { width: 100%; max-width: var(--maxw); margin-inline: auto; align-items: center; justify-content: center; gap: 0; padding-inline: var(--gut); }
.st-pcard { position: relative; display: block; border-radius: var(--r); overflow: hidden; isolation: isolate; color: #fff; }
.st-pcard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s var(--ease); }
.st-pcard::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 56.5px rgba(0, 0, 0, .40); pointer-events: none; }
.st-pcard:hover img { transform: scale(1.04); }
.st-pcard--cr { width: calc(265 * var(--u)); height: calc(561 * var(--u)); }
.st-pcard--lh { width: calc(365 * var(--u)); height: calc(769 * var(--u)); margin-left: calc(52 * var(--u)); }
.st-pcard--rh { width: calc(322 * var(--u)); height: calc(681 * var(--u)); margin-left: calc(33 * var(--u)); }
.st-pcard--mh { width: calc(283 * var(--u)); height: calc(599 * var(--u)); margin-left: calc(33 * var(--u)); }
.st-pcard__label { position: absolute; left: 0; right: 0; bottom: calc(14 * var(--u)); z-index: 1; padding: 0 8px; text-align: center; font-weight: 700; font-size: max(12px, calc(16 * var(--u))); line-height: calc(19.5 / 16); text-transform: uppercase; letter-spacing: 0; }
.st-pcard--lh .st-pcard__label { bottom: calc(24 * var(--u)); }
.st-pcard--rh .st-pcard__label { bottom: calc(20 * var(--u)); }
.st-pcard--cr .st-pcard__label { bottom: calc(17 * var(--u)); }
.st-pcard__soon { position: absolute; left: 0; right: 0; top: calc(64 * var(--u)); z-index: 1; text-align: center; font-weight: 700; font-size: max(18px, calc(28 * var(--u))); line-height: calc(34 / 28); text-transform: uppercase; }

/* ---------------------------------------------------------------- partnerske sekce (fotka pres celou sirku) */
.st-prop { position: relative; isolation: isolate; background: var(--c-navy-2); overflow: hidden; color: #fff; }
.st-prop__bg { position: absolute; inset: 0; z-index: -1; }
.st-prop__bg img { width: 100%; height: 100%; object-fit: cover; }
.st-prop__bg::after { content: ""; position: absolute; inset: 0; background: rgba(0, 23, 122, var(--ov, .34)); }
.st-prop__in { max-width: var(--maxw); margin-inline: auto; min-height: calc(var(--h) * var(--u)); padding: calc(var(--pt) * var(--u)) var(--gut) calc(60 * var(--u)) calc(var(--pl) * var(--u)); display: flex; flex-direction: column; align-items: flex-start; }
.st-prop__logo { margin-left: calc(var(--lx) * var(--u)); width: calc(var(--lw) * var(--u)); min-width: 150px; color: #fff; line-height: 0; }
.st-prop__logo img, .st-prop__svg { width: 100%; height: auto; }
.st-prop__p { margin-top: calc(var(--g1) * var(--u)); max-width: calc(var(--pw) * var(--u) + 40px); font-weight: 600; font-size: max(14px, calc(16 * var(--u))); line-height: 1.5; letter-spacing: .3px; text-shadow: 0 1px 8px rgba(0, 0, 0, .25); }
.st-prop__h { font-weight: 500; font-size: max(28px, calc(42 * var(--u))); line-height: calc(46 / 42); letter-spacing: .3px; text-transform: uppercase; }
.st-prop__btn { display: inline-flex; align-items: center; justify-content: center; margin-top: calc(var(--g2) * var(--u)); margin-left: calc(var(--bx) * var(--u)); min-height: max(44px, calc(51 * var(--u))); padding: 0 max(13px, calc(15 * var(--u))); border: 3px solid #fff; border-radius: var(--r); font-weight: 700; font-size: max(12px, calc(13 * var(--u))); line-height: 1; letter-spacing: .3px; text-transform: uppercase; white-space: nowrap; transition: background-color .2s, color .2s; }
.st-prop__btn:hover { background: #fff; color: var(--c-navy); }
.st-prop__btn--glass { background: rgba(255, 255, 255, .72); border-color: transparent; color: var(--c-navy); }
.st-prop__btn--glass:hover { background: #fff; }
.st-prop--cr { --ov: .29; --h: 772; --pt: 175; --pl: 164; --lx: 42; --lw: 323; --g1: 33; --pw: 477; --g2: 28; --bx: 118; }
.st-prop--lh { --ov: .34; --h: 795; --pt: 139; --pl: 120; --lx: 25; --lw: 340; --g1: 29; --pw: 477; --g2: 28; --bx: 118; }
.st-prop--rh { --ov: .59; --h: 769; --pt: 108; --pl: 157; --lx: -2; --lw: 271; --g1: 35; --pw: 713; --g2: 52; --bx: 1; }
.st-prop--mh { --ov: .34; --h: 770; --pt: 166; --pl: 127; --lx: 0; --lw: 0; --g1: 0; --pw: 480; --g2: 215; --bx: 36; }
.st-prop--rh .st-prop__p { max-width: calc(713 * var(--u) + 20px); }

/* ---------------------------------------------------------------- real estate (973) */
.st-own { position: relative; z-index: 2; background: var(--c-navy); color: #fff; box-shadow: 0 4px 34px rgba(0, 0, 0, .25); }
.st-own__in { max-width: var(--maxw); margin-inline: auto; padding: calc(110 * var(--u)) var(--gut) calc(127 * var(--u)) calc(106 * var(--u)); }
.st-own__h { line-height: calc(46 / 52); }
.st-own__h em { display: block; font-size: calc(35 / 52 * 1em); line-height: calc(46 / 35); margin-top: 6px; }
.st-own__p { max-width: calc(609 * var(--u) + 40px); margin-top: calc(18 * var(--u)); margin-left: calc(-4 * var(--u)); font-weight: 500; font-size: max(15px, calc(20 * var(--u))); line-height: 1.3; letter-spacing: .3px; }
.st-own__btn { margin-top: calc(35 * var(--u)); min-width: calc(211 * var(--u)); }
.st-own__cards { --gap: calc(28 * var(--u)); margin-top: calc(119 * var(--u)); margin-left: calc(4 * var(--u)); }
.st-recard { position: relative; width: calc(514 * var(--u)); height: calc(289 * var(--u)); border-radius: var(--r); overflow: hidden; isolation: isolate; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding-bottom: calc(34 * var(--u)); }
.st-recard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s var(--ease); }
.st-recard::before { content: ""; position: absolute; inset: 0; background: rgba(0, 23, 122, .31); z-index: -1; }
.st-recard:hover img { transform: scale(1.04); }
.st-recard__logo { position: absolute; top: calc(31 * var(--u)); left: 50%; transform: translateX(-50%); width: calc(179 * var(--u)); min-width: 110px; height: auto; color: #fff; }
.st-recard__logo--rh { top: calc(52 * var(--u)); width: calc(148 * var(--u)); min-width: 90px; }
.st-recard__name { position: absolute; top: calc(92 * var(--u)); left: 0; right: 0; text-align: center; font-weight: 500; font-size: max(18px, calc(27 * var(--u))); line-height: 1.7; letter-spacing: .3px; text-transform: uppercase; }
.st-recard__btn { display: inline-flex; align-items: center; height: calc(60 * var(--u)); min-height: 40px; padding: 0 calc(21 * var(--u)); border: 3px solid #fff; border-radius: var(--r); font-weight: 700; font-size: max(11px, calc(13 * var(--u))); letter-spacing: .3px; text-transform: uppercase; }
.st-recard:hover .st-recard__btn { background: #fff; color: var(--c-navy); }

/* ---------------------------------------------------------------- stay near Smokey (bila) */
.st-near { background: #fff; }
.st-near__in { max-width: var(--maxw); margin-inline: auto; padding: calc(108 * var(--u)) 0 calc(166 * var(--u)); }
.st-near__h { padding-left: calc(116 * var(--u)); font-weight: 800; font-size: max(28px, calc(46 * var(--u))); line-height: calc(56 / 46); text-transform: uppercase; color: var(--c-navy); }
.st-near__rail { --gap: calc(34.5 * var(--u)); margin-top: calc(57 * var(--u)); padding-inline: calc(110 * var(--u)) var(--gut); scroll-padding-inline: calc(110 * var(--u)); }
.st-ncard { position: relative; width: calc(323 * var(--u)); min-width: 200px; height: calc(650 * var(--u)); min-height: 440px; border-radius: var(--r); overflow: hidden; isolation: isolate; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: calc(16 * var(--u)); padding: 0 10px calc(37 * var(--u)); box-shadow: inset 0 0 67.8px rgba(0, 0, 0, .25); }
.st-ncard--cabot { width: calc(325 * var(--u)); }
.st-ncard--inverary { width: calc(320 * var(--u)); }
.st-ncard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s var(--ease); }
.st-ncard::before { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .30) 100%); z-index: -1; }
.st-ncard:hover img { transform: scale(1.04); }
.st-ncard__label { font-weight: 700; font-size: max(13px, calc(16 * var(--u))); line-height: calc(19.5 / 16); text-align: center; text-transform: uppercase; text-shadow: 0 1px 6px rgba(0, 0, 0, .35); }
.st-ncard__btn { display: inline-flex; align-items: center; justify-content: center; width: calc(199 * var(--u)); min-width: 160px; height: calc(51 * var(--u)); min-height: 40px; border: 3px solid #fff; border-radius: 7px; font-weight: 700; font-size: max(12px, calc(14 * var(--u))); letter-spacing: .3px; text-transform: uppercase; transition: background-color .2s, color .2s; }
.st-ncard:hover .st-ncard__btn { background: #fff; color: var(--c-navy); }

/* ---------------------------------------------------------------- responzivita */
@media (max-width: 1279px) {
  .st-pick__rail { justify-content: flex-start; }
}
@media (max-width: 1023px) {
  .st-pick { min-height: 0; padding: 48px 0; }
  .st-pick__rail { align-items: center; scroll-padding-inline: var(--gut); }
  .st-pcard--cr, .st-pcard--lh, .st-pcard--rh, .st-pcard--mh { width: 240px; height: 480px; margin-left: 16px; }
  .st-pcard--cr { margin-left: 0; }
  .st-pcard--lh { height: 540px; }
  .st-prop__in { min-height: 0; padding: 64px var(--gut) 72px; }
  .st-prop__logo { margin-left: 0; }
  .st-prop__btn { margin-left: 0; margin-top: 28px; }
  .st-prop--mh .st-prop__btn { margin-top: 32px; }
  .st-own__in { padding: 64px var(--gut); }
  .st-own__cards { margin: 40px calc(-1 * var(--gut)) 0; padding-inline: var(--gut); scroll-padding-inline: var(--gut); }
  .st-recard { width: 320px; height: 200px; }
  .st-near__in { padding: 64px 0 72px; }
  .st-near__h { padding-left: var(--gut); }
  .st-near__rail { padding-inline: var(--gut); scroll-padding-inline: var(--gut); margin-top: 32px; }
  .st-ncard, .st-ncard--cabot, .st-ncard--inverary { width: 240px; height: 460px; padding-bottom: 28px; gap: 12px; }
}
@media (max-width: 767px) {
  .st-pcard--cr, .st-pcard--lh, .st-pcard--rh, .st-pcard--mh { width: 62vw; height: 118vw; max-height: 480px; }
  .st-prop__in { padding: 56px var(--gut); }
  .st-prop__logo { width: 200px; }
  .st-prop--lh .st-prop__logo { width: 230px; }
  .st-prop__p { max-width: none; }
  .st-recard { width: 82vw; height: 46vw; min-height: 180px; }
  .st-ncard, .st-ncard--cabot, .st-ncard--inverary { width: 62vw; height: 120vw; max-height: 460px; }
}
