.rafting-page { background: #f3f5ec; }
/* The site's fixed booking CTA must never cover the game controls. */
.rafting-page .floating-reserve, .rafting-page .back-to-top { display: none; }
.game-page-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px clamp(20px, 5vw, 72px); border-bottom: 1px solid #d5ded1; }
.game-page-header img { width: 150px; height: auto; }
.game-page-header > a:last-child { font-size: 14px; text-decoration: none; font-weight: 700; }
.rafting-layout { max-width: 1160px; margin: auto; padding: 48px 28px 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 36px 68px; align-items: start; }
.rafting-intro h1 { font-size: clamp(36px, 4.4vw, 58px); line-height: 1.3; letter-spacing: -.04em; margin: 16px 0 22px; color: #123d40; }
.rafting-lead { font-size: 21px; font-weight: 700; line-height: 1.8; }
.course-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 26px 0; }
.course-buttons button { cursor: pointer; text-align: left; border: 2px solid #1c5655; background: transparent; color: #123d40; padding: 16px 12px; border-radius: 10px; font: inherit; min-height: 122px; }
.course-buttons button:hover, .course-buttons button[aria-pressed="true"] { background: #123d40; color: #fff5dc; }
.course-buttons small, .course-buttons strong, .course-buttons span { display: block; }
.course-buttons small { font-size: 11px; letter-spacing: .12em; }
.course-buttons strong { font-size: 19px; margin: 5px 0; }
.course-buttons span { font-size: 11px; }
.rafting-page :focus-visible { outline: 3px solid #e58d19; outline-offset: 5px; }
.rafting-how { border-top: 1px solid #c8d7ca; padding-top: 14px; }
.rafting-how h2 { font-size: 18px; }
.rafting-how ol { margin: 0; padding-left: 22px; }
.rafting-how li { margin: 12px 0; padding-left: 4px; }
.rafting-how li span { display: block; font-size: 14px; color: #4b6360; }
.rafting-how > p { font-size: 12px; color: #4b6360; }
.rafting-player { border-radius: 22px; background: #102c34; color: #d9ece5; padding: 12px; box-shadow: 0 24px 60px #123d4026; text-align: center; scroll-margin-top: 12px; }
.game-placeholder { min-height: 610px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: repeating-linear-gradient(165deg, #18404a 0, #18404a 40px, #1b4850 41px, #1b4850 43px); border-radius: 12px; }
.game-placeholder .river-mark { color: #82cdc4; font-size: 120px; line-height: 1; }
.game-placeholder h2 { font-size: 26px; margin: 5px; color: #fff2cb; }
.game-placeholder small { margin: 35px 10px 10px; font-size: 11px; }
.rafting-player iframe { display: block; width: 100%; height: min(830px, 94svh); border: 0; border-radius: 12px; background: #102c34; }
#game-status { margin: 10px 0 4px; font-size: 12px; }
#game-direct { font-size: 12px; color: #fff2cb; }
.rafting-after { grid-column: 1 / -1; border-top: 1px solid #c8d7ca; padding-top: 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rafting-after h2 { font-size: 28px; margin: 8px 0; }
.rafting-after p { margin: 8px 0; }
.rafting-tour-links { display: flex; flex-wrap: wrap; gap: 12px; }
.rafting-disclaimer { grid-column: 1 / -1; color: #59706a; font-size: 12px; margin: 0; }
.game-page-footer { padding: 24px; text-align: center; font-size: 13px; }
@media (max-width: 760px) {
  .rafting-layout { grid-template-columns: minmax(0, 1fr); padding: 24px 16px; gap: 24px; }
  .rafting-intro h1 { font-size: 40px; }
  .rafting-how { margin-top: 18px; }
  .game-placeholder { min-height: 360px; }
  .rafting-player { padding: 8px; max-width: 440px; width: 100%; justify-self: center; }
  .rafting-after { flex-direction: column; align-items: flex-start; }
  .rafting-tour-links { flex-direction: column; width: 100%; }
}
