/* RENTALS SUMMER — Figma 670:6275 + obsah 933:11358. Prefix rs-. Hodnoty calc(N * var(--u)) = px pri 1920. */

.rs-sec { max-width: var(--maxw); margin-inline: auto; padding: calc(72 * var(--u)) calc(108 * var(--u)); color: var(--c-navy); }
.rs-eyebrow { font-weight: 700; font-size: max(12px, calc(14 * var(--u))); line-height: calc(20 / 14); text-transform: uppercase; color: var(--c-navy); }
.rs-eyebrow--gold { color: #cc994a; }
.rs-h { font-weight: 700; font-size: max(28px, calc(44 * var(--u))); line-height: calc(54 / 44); }
.rs-h3 { font-weight: 700; font-size: max(20px, calc(26 * var(--u))); line-height: calc(34 / 26); }
.rs-p, .rs-lead { font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(31 / 20); }
.rs-small { font-weight: 500; font-size: max(13px, calc(16 * var(--u))); line-height: calc(25 / 16); }
.rs-sec > .rs-h { margin-top: calc(32 * var(--u)); }
.rs-sec > .rs-lead { margin-top: calc(32 * var(--u)); max-width: calc(1500 * var(--u)); }

/* tlacitka (Figma 1131:2335: 60 vysoka, r7, 16/700) */
.rs-btn { display: inline-flex; align-items: center; justify-content: center; width: calc(390 * var(--u)); min-width: 260px; height: calc(60 * var(--u)); min-height: 48px; padding: 0 calc(24 * var(--u)); border: 1px solid var(--c-navy); border-radius: 7px; color: var(--c-navy); font-weight: 700; font-size: max(13px, calc(16 * var(--u))); line-height: 1.5; text-transform: uppercase; white-space: nowrap; gap: .3em; transition: background-color .2s, color .2s; }
.rs-btn:hover { background: var(--c-navy); color: #fff; }
.rs-btn--fill { width: calc(350 * var(--u)); background: var(--c-navy); color: #fff; }
.rs-btn--fill:hover { background: var(--c-gold); border-color: var(--c-gold); }
.rs-btn--w430 { width: calc(430 * var(--u)); min-width: 280px; }

/* ---------------------------------------------------------------- prepinac leto / zima (124) */
.rs-switch { background: #fff; }
.rs-switch__in { max-width: var(--maxw); margin-inline: auto; display: flex; align-items: center; gap: calc(16 * var(--u)); padding: calc(32 * var(--u)) calc(108 * var(--u)); }
.rs-tab { display: inline-flex; align-items: center; justify-content: center; width: calc(280 * var(--u)); min-width: 150px; height: calc(60 * var(--u)); min-height: 44px; border: 1px solid var(--c-navy); border-radius: 7px; color: var(--c-navy); font-weight: 700; font-size: max(12px, calc(16 * var(--u))); text-transform: uppercase; transition: background-color .2s, color .2s; }
.rs-tab.is-active, .rs-tab:hover { background: var(--c-navy); color: #fff; }
.rs-switch__note { font-weight: 700; font-size: max(11px, calc(14 * var(--u))); line-height: calc(20 / 14); text-transform: uppercase; }

/* ---------------------------------------------------------------- 01 e-bike */
.rs-ebike__grid { display: flex; gap: calc(64 * var(--u)); margin-top: calc(32 * var(--u)); }
.rs-ebike__img { flex: none; width: calc(600 * var(--u)); height: calc(650 * var(--u)); border-radius: 7px; overflow: hidden; }
.rs-ebike__img img { width: 100%; height: 100%; object-fit: cover; }
.rs-ebike__rates { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: calc(28 * var(--u)); }
.rs-rates { width: 100%; }
.rs-rates__t { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.rs-rates__t th, .rs-rates__t td { padding: calc(24 * var(--u)); text-align: right; vertical-align: middle; }
.rs-rates__t th:first-child { text-align: left; }
.rs-rates__t thead th { padding-block: calc(20 * var(--u)); background: var(--c-navy); color: #fff; font-weight: 700; font-size: max(11px, calc(14 * var(--u))); line-height: calc(20 / 14); text-transform: uppercase; }
.rs-rates__t thead th:first-child { width: calc(632 * var(--u)); border-radius: 7px 0 0 7px; }
.rs-rates__t thead th:last-child { border-radius: 0 7px 7px 0; }
.rs-rates__t tbody th, .rs-rates__t tbody td { border-bottom: 1px solid var(--c-navy); height: calc(85 * var(--u)); }
.rs-rates__t tbody th { font-weight: 400; font-size: max(15px, calc(20 * var(--u))); line-height: calc(31 / 20); }
.rs-rates__t tbody td { font-weight: 700; font-size: max(18px, calc(28 * var(--u))); line-height: calc(36 / 28); }
.rs-ebike__rates .rs-btn { margin-top: 0; }

/* ---------------------------------------------------------------- 02 sleva pro hosty (navy, 276) */
.rs-guest { background: var(--c-navy); color: #fff; }
.rs-guest__in { max-width: var(--maxw); margin-inline: auto; display: flex; gap: calc(64 * var(--u)); padding: calc(72 * var(--u)) calc(108 * var(--u)); }
.rs-guest__off { flex: none; width: calc(320 * var(--u)); min-width: 200px; }
.rs-guest__big { margin-top: calc(12 * var(--u)); font-weight: 800; font-size: max(40px, calc(64 * var(--u))); line-height: calc(72 / 64); text-transform: uppercase; }
.rs-guest__p { margin-top: calc(16 * var(--u)); max-width: calc(1180 * var(--u)); }

/* ---------------------------------------------------------------- 03 tri veci */
.rs-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: calc(24 * var(--u)); margin-top: calc(32 * var(--u)); }
.rs-step { min-height: calc(214 * var(--u)); padding: calc(32 * var(--u)); border: 1px solid var(--c-navy); border-radius: 7px; display: flex; flex-direction: column; gap: calc(16 * var(--u)); }
.rs-plan > .rs-btn { margin-top: calc(32 * var(--u)); }

/* ---------------------------------------------------------------- 04 vic leta */
.rs-more { display: flex; gap: calc(64 * var(--u)); align-items: flex-start; }
.rs-more__txt { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: calc(24 * var(--u)); }
.rs-more__img { flex: none; width: calc(880 * var(--u)); height: calc(520 * var(--u)); border-radius: 7px; overflow: hidden; }
.rs-more__img img { width: 100%; height: 100%; object-fit: cover; }

/* ---------------------------------------------------------------- FAQ (staticky seznam) */
.rs-faq { display: flex; gap: calc(80 * var(--u)); align-items: flex-start; }
.rs-faq__head { flex: none; width: calc(528 * var(--u)); display: flex; flex-direction: column; align-items: flex-start; gap: calc(24 * var(--u)); }
.rs-faq__list { flex: 1; }
.rs-qa { padding: calc(24 * var(--u)) 0; border-bottom: 1px solid var(--c-navy); display: flex; flex-direction: column; gap: calc(12 * var(--u)); }

/* ---------------------------------------------------------------- responzivita */
@media (max-width: 1279px) {
  .rs-sec, .rs-switch__in, .rs-guest__in { padding-inline: var(--gut); }
}
@media (max-width: 1023px) {
  .rs-ebike__grid, .rs-more, .rs-faq { flex-direction: column; gap: 32px; }
  .rs-ebike__img, .rs-more__img { width: 100%; height: auto; aspect-ratio: 600 / 500; }
  .rs-more__img { aspect-ratio: 880 / 520; }
  .rs-faq__head { width: 100%; }
  .rs-faq__list { width: 100%; }
  .rs-steps { grid-template-columns: 1fr; gap: 16px; }
  .rs-step { min-height: 0; padding: 24px; gap: 10px; }
  .rs-guest__in { flex-direction: column; gap: 24px; }
}
@media (max-width: 767px) {
  .rs-sec { padding-block: 48px; }
  .rs-guest__in { padding-block: 48px; }
  .rs-switch__in { flex-wrap: wrap; padding-block: 24px; gap: 10px; }
  .rs-tab { flex: 1 1 140px; }
  .rs-switch__note { flex-basis: 100%; }
  .rs-btn, .rs-btn--fill, .rs-btn--w430 { width: 100%; min-width: 0; white-space: normal; text-align: center; }
  .rs-rates .cs-paycards { gap: 12px; }
  .rs-rates .cs-paycard { border: 1px solid var(--c-navy); border-radius: 7px; padding: 16px; }
  .rs-rates .cs-paycard__t { font-weight: 700; font-size: 17px; line-height: 1.3; margin-bottom: 8px; }
  .rs-rates .cs-paycard dl { display: grid; grid-template-columns: 1fr auto; }
  .rs-rates .cs-paycard dt, .rs-rates .cs-paycard dd { padding: 8px 0; border-top: 1px solid rgba(0, 23, 122, .25); }
  .rs-rates .cs-paycard dt { font-weight: 500; text-transform: uppercase; font-size: 13px; }
  .rs-rates .cs-paycard dd { font-weight: 700; font-size: 20px; text-align: right; }
}
