/* Shop — Figma 656:3730. Hodnoty v calc(N * var(--u)) = design px pri 1920. Prefix sh- */

.sh-hero__img { object-position: 50% 21%; }
.sh-wrap { max-width: var(--maxw); margin-inline: auto; }
.sh-h { font-weight: 900; font-size: max(28px, calc(45 * var(--u))); line-height: calc(117 / 45); text-transform: uppercase; color: var(--c-navy-2); }

/* ---------------------------------------------------------------- rentals (Figma: jen nadpisy, obsah z capesmokey.ca) */
.sh-rent { background: #fff; color: var(--c-navy-2); padding: calc(29 * var(--u)) 0 calc(90 * var(--u)); }
.sh-rent--w { padding-top: 0; }
.sh-rent .sh-wrap { padding: 0 var(--gut) 0 calc(102 * var(--u)); }
.sh-rent__p { max-width: calc(860 * var(--u) + 80px); margin-top: calc(10 * var(--u)); font-weight: 500; font-size: max(15px, calc(18 * var(--u))); line-height: calc(26 / 18); letter-spacing: .3px; }
.sh-rent__p + .sh-rent__p { margin-top: calc(14 * var(--u)); }
.sh-rent__btns { display: flex; flex-wrap: wrap; gap: calc(16 * var(--u)) calc(20 * var(--u)); margin-top: calc(32 * var(--u)); }
.sh-rent .cs-btn { color: var(--c-navy-2); }

/* ---------------------------------------------------------------- shop at Smokey (670:8352) */
.sh-merch { background: #fff; padding: calc(60 * var(--u)) 0 calc(154 * var(--u)); }
.sh-merch__head { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 0 calc(95 * var(--u)); }
.sh-merch__h { font-weight: 800; font-size: max(28px, calc(45 * var(--u))); line-height: calc(54.9 / 45); text-transform: uppercase; color: var(--c-navy-2); }
.sh-arrows { display: flex; gap: calc(12 * var(--u)); }
.sh-arrow { width: max(40px, calc(48 * var(--u))); height: max(40px, calc(48 * var(--u))); border-radius: 50%; display: grid; place-items: center; border: 2px solid var(--c-navy-2); color: var(--c-navy-2); background: #fff; transition: background-color .2s, color .2s, opacity .2s; }
.sh-arrow--next { background: var(--c-navy-2); color: #fff; }
.sh-arrow .cs-ico { width: 22px; height: 22px; }
.sh-arrow:not(:disabled):hover { background: var(--c-navy); color: #fff; }
.sh-arrow:disabled { cursor: default; }
.sh-merch__rail { --gap: calc(32.5 * var(--u)); margin-top: calc(61 * var(--u)); padding: 24px calc(95 * var(--u)) 24px; margin-block: calc(61 * var(--u) - 24px) -24px; scroll-padding-inline: calc(95 * var(--u)); }
.sh-mcard { display: flex; flex-direction: column; width: calc(408 * var(--u)); min-width: 240px; background: #fff; border-radius: 21px; box-shadow: 0 0 24px rgba(0, 0, 0, .05); color: var(--c-navy-2); overflow: hidden; }
.sh-mcard__img { display: block; height: calc(300 * var(--u)); min-height: 180px; }
.sh-mcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.sh-mcard:hover .sh-mcard__img img { transform: scale(1.03); }
.sh-mcard__body { display: flex; flex-direction: column; padding: calc(24 * var(--u)); padding-inline: max(16px, calc(24 * var(--u))); }
.sh-mcard__cat { font-weight: 700; font-size: max(11px, calc(12 * var(--u))); line-height: calc(14.6 / 12); letter-spacing: 0; text-transform: uppercase; color: #cc994a; }
.sh-mcard__t { margin-top: 4px; font-weight: 700; font-size: max(15px, calc(18 * var(--u))); line-height: calc(21.9 / 18); letter-spacing: 0; }
.sh-mcard__p { margin-top: calc(16 * var(--u)); font-weight: 800; font-size: max(16px, calc(20 * var(--u))); line-height: calc(24.4 / 20); letter-spacing: 0; }
.sh-mcard__btn { display: flex; align-items: center; justify-content: center; margin-top: calc(16 * var(--u)); height: max(44px, calc(56 * var(--u))); border: 2px solid var(--c-navy-2); border-radius: 7px; font-weight: 700; font-size: max(14px, calc(20 * var(--u))); letter-spacing: 0; text-transform: uppercase; transition: background-color .2s, color .2s; }
.sh-mcard:hover .sh-mcard__btn { background: var(--c-navy-2); color: #fff; }

/* ---------------------------------------------------------------- snow school (811:35821) */
.sh-school { position: relative; z-index: 1; background: var(--c-gold-3); box-shadow: 0 4px 4px rgba(0, 0, 0, .25); padding: calc(96 * var(--u)) 0 calc(143 * var(--u)); }
.sh-school .sh-wrap { padding: 0 calc(95 * var(--u)); }
.sh-school__eyebrow { font-weight: 800; font-size: max(10px, calc(11 * var(--u))); line-height: calc(13.4 / 11); letter-spacing: 1.4px; text-transform: uppercase; color: var(--c-navy); }
.sh-school__h { margin-top: calc(16 * var(--u)); font-weight: 700; font-size: max(28px, calc(45 * var(--u))); line-height: calc(54.9 / 45); text-transform: uppercase; color: #fff; }
.sh-school__rail { --gap: calc(32 * var(--u)); margin-top: calc(19 * var(--u)); }
.sh-scard { display: flex; flex-direction: column; width: calc(555 * var(--u)); min-width: 260px; background: #fff; border-radius: 7px; overflow: hidden; color: var(--c-navy-2); }
.sh-scard__img { display: block; height: calc(280 * var(--u)); min-height: 170px; overflow: hidden; }
.sh-scard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.sh-scard:hover .sh-scard__img img { transform: scale(1.03); }
.sh-scard__body { flex: 1; display: flex; flex-direction: column; padding: max(20px, calc(32 * var(--u))); }
.sh-scard__t { font-weight: 700; font-size: max(19px, calc(24 * var(--u))); line-height: calc(29.3 / 24); letter-spacing: 0; }
.sh-scard__d { margin-top: calc(12 * var(--u)); font-weight: 500; font-size: max(14px, calc(16 * var(--u))); line-height: 1.5; letter-spacing: 0; color: #666; }
.sh-scard__btn { display: flex; align-items: center; justify-content: center; margin-top: auto; height: max(44px, calc(56 * var(--u))); background: #cc994a; color: #fff; border-radius: 7px; font-weight: 700; font-size: max(14px, calc(20 * var(--u))); letter-spacing: 0; text-transform: uppercase; transition: background-color .2s; }
.sh-scard__d { margin-bottom: calc(24 * var(--u)); }
.sh-scard:hover .sh-scard__btn { background: var(--c-navy-2); }

/* ---------------------------------------------------------------- responzivita */
@media (max-width: 1023px) {
  .sh-rent { padding: 40px 0 48px; }
  .sh-rent--w { padding-top: 0; }
  .sh-rent .sh-wrap, .sh-merch__head, .sh-school .sh-wrap { padding-inline: var(--gut); }
  .sh-h { line-height: 1.3; }
  .sh-merch { padding: 48px 0 64px; }
  .sh-merch__rail { padding-inline: var(--gut); scroll-padding-inline: var(--gut); margin-block: 8px -24px; }
  .sh-mcard { width: 280px; }
  .sh-school { padding: 56px 0 72px; }
  .sh-school .sh-wrap { padding-inline: 0; }
  .sh-school__eyebrow, .sh-school__h { padding-inline: var(--gut); }
  .sh-school__rail { padding-inline: var(--gut); scroll-padding-inline: var(--gut); margin-top: 20px; }
  .sh-scard { width: 320px; }
}
@media (max-width: 767px) {
  .sh-mcard { width: 72vw; }
  .sh-scard { width: 82vw; }
  .sh-rent__btns .cs-btn { white-space: normal; text-align: center; }
}
