/* Desktop-only game detail refinement. Mobile layouts intentionally untouched. */
@media (min-width: 901px) {
  .x9z2-hero {
    min-height: 760px !important;
    height: 88vh !important;
  }

  .x9z2-hero .x9z2-hero-content {
    max-width: 1440px !important;
    padding: 100px 42px 0 !important;
    box-sizing: border-box !important;
  }

  .x9z2-hero .x9z2-bread {
    margin: 0 0 132px !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    transform: translateY(-82px) !important;
  }

  .x9z2-hero .x9z2-main-title {
    margin: 0 0 8px !important;
    font-size: clamp(62px, 5.4vw, 86px) !important;
    line-height: .96 !important;
  }

  .x9z2-hero .x9z2-sub-info {
    margin: 0 0 20px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
  }

  .x9z2-hero .x9z2-tags-row {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
    gap: 9px !important;
    flex-wrap: nowrap !important;
  }

  .x9z2-hero .x9z2-tag-item {
    min-height: 44px !important;
    padding: 10px clamp(10px, .9vw, 17px) !important;
    border-radius: 8px !important;
    font-size: clamp(12px, .86vw, 15px) !important;
    font-weight: 700 !important;
    background: rgba(63, 75, 80, .78) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .2) !important;
  }

  .x9z2-hero .x9z2-action-btns {
    width: 100% !important;
    max-width: 760px !important;
    gap: 16px !important;
  }

  .x9z2-hero .x9z2-btn-fill,
  .x9z2-hero .x9z2-btn-stroke {
    width: 360px !important;
    min-width: 360px !important;
    min-height: 48px !important;
    height: 48px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
    border-radius: 8px !important;
    gap: 11px !important;
    font-size: 17px !important;
  }

  .x9z2-hero .x9z2-btn-fill::before,
  .x9z2-hero .x9z2-btn-stroke::before {
    font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", sans-serif;
    font-weight: 900;
    font-size: 18px;
  }

  .x9z2-hero .x9z2-btn-fill::before { content: "\f274"; }
  .x9z2-hero .x9z2-btn-stroke::before { content: "\f06b"; }

  .x9z2-page-container { max-width: 1320px !important; }

  .elephant-main-grid {
    max-width: 1320px !important;
    gap: 48px !important;
    padding: 52px 28px 34px !important;
    align-items: start !important;
  }

  .giraffe-left-column { min-width: 0 !important; }

  .monkey-description,
  .monkey-description::before,
  .monkey-description::after,
  .monkey-description .camel-quote-box,
  .monkey-description .camel-quote-box p,
  .lion-rules,
  .bear-age-box {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .monkey-description { margin-bottom: 48px !important; }

  .camel-quote-box {
    max-width: 790px !important;
    padding: 4px 0 10px !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .camel-quote-box p {
    font-size: 18px !important;
    line-height: 1.78 !important;
    color: rgba(255, 255, 255, .91) !important;
  }

  .tiger-list { max-width: 820px !important; }
  .tiger-list li {
    font-size: 16.5px !important;
    line-height: 1.65 !important;
    margin-bottom: 15px !important;
    padding-left: 25px !important;
  }

  .wolf-modes-grid { gap: 18px !important; }
  .owl-mode-card {
    min-height: 235px !important;
    padding: 28px 26px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .owl-mode-card h4 { font-size: 21px !important; }
  .owl-mode-card p { font-size: 15px !important; line-height: 1.55 !important; }
  .owl-mode-card a { margin-top: auto !important; }

  .bear-age-box,
  .bear-age-box .tiger-list,
  .bear-age-box .prepay-comment-wrapper,
  .bear-age-box .prepay-box {
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .prepay-comment-wrapper {
    margin-top: 34px !important;
    width: 100% !important;
  }
  .prepay-box {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .prepay-box h3 { font-size: 23px !important; }
  .prepay-box p { font-size: 16.5px !important; line-height: 1.7 !important; }

  .portal-reviews-summary-section .portal-rating-summary,
  .eagle-sidebar .portal-rating-summary,
  .spider-rating-total {
    min-height: 0 !important;
    padding: 26px 30px !important;
    border-radius: 28px !important;
  }
  .portal-reviews-summary-section .portal-rating-number,
  .eagle-sidebar .portal-rating-number { font-size: 54px !important; }
  .portal-reviews-summary-section .portal-rating-count,
  .eagle-sidebar .portal-rating-count { margin: 7px 0 18px !important; }
  .portal-reviews-summary-section .portal-rating-lines,
  .eagle-sidebar .portal-rating-lines { gap: 10px !important; }
  .portal-reviews-summary-section .portal-rating-line,
  .eagle-sidebar .portal-rating-line { margin: 8px 0 !important; }

  .rsv-x9z-container {
    background: transparent !important;
    padding: 30px 0 10px !important;
    margin-top: 24px !important;
  }
  .rsv-x9z-main-heading {
    margin: 18px 0 34px !important;
    font-size: 34px !important;
    font-weight: 800 !important;
  }

  .rsv-x9z-calendar-grid {
    width: 100% !important;
    background: transparent !important;
  }

  .rsv-x9z-day-row {
    display: grid !important;
    grid-template-columns: 225px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 18px !important;
    min-height: 86px !important;
    padding: 14px 10px !important;
  }

  .rsv-x9z-date-label {
    min-width: 0 !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 12px !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  .rsv-x9z-day-name {
    margin-left: 0 !important;
    font-size: 16px !important;
  }

  .rsv-x9z-slots {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 13px !important;
    align-items: center !important;
  }

  .rsv-x9z-slot {
    width: 100% !important;
    min-width: 0 !important;
  }

  .rsv-x9z-divider {
    margin: 0 10px !important;
    opacity: .75 !important;
  }

  .passage-booking-page .rsv-x9z-day-row {
    grid-template-columns: 205px minmax(0, 1fr) !important;
    column-gap: 15px !important;
    min-height: 76px !important;
    padding: 12px 8px !important;
  }

  .passage-booking-page .rsv-x9z-date-label {
    column-gap: 9px !important;
    font-size: 15px !important;
  }

  .passage-booking-page .rsv-x9z-day-name {
    font-size: 13px !important;
  }

  html[lang="az"].passage-booking-page .rsv-x9z-day-row {
    grid-template-columns: 255px minmax(0, 1fr) !important;
  }

  html[lang="az"].passage-booking-page .rsv-x9z-date-label {
    column-gap: 8px !important;
  }

  .passage-booking-page .rsv-x9z-slots {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 10px 8px !important;
  }

  .passage-booking-page .rsv-x9z-slot {
    height: 44px !important;
    padding: 0 3px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  .passage-booking-page .rsv-x9z-badge {
    top: -7px !important;
    right: -2px !important;
    padding: 2px 5px !important;
    border-radius: 5px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  .passage-booking-page .rsv-x9z-divider {
    height: 0 !important;
    margin: 2px 8px !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .23) !important;
    opacity: 1 !important;
  }
}

/* Compact reservation dialogs for every game; preserve the existing palette. */
.rsv-prod-modal {
  padding: 18px;
}

.rsv-prod-modal .rsv-prod-box {
  width: min(560px, calc(100vw - 36px));
  max-height: min(92vh, 880px);
  padding: 22px 24px 20px;
  border-radius: 19px;
  box-sizing: border-box;
}

.rsv-prod-modal .rsv-prod-close {
  top: 14px;
  right: 17px;
  font-size: 31px;
  line-height: 1;
}

.rsv-prod-modal .rsv-prod-box h2 {
  margin: 2px 42px 18px;
  font-size: clamp(23px, 2.2vw, 28px);
  line-height: 1.2;
  letter-spacing: -.025em;
}

.rsv-prod-modal .rsv-prod-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px 14px;
}

.rsv-prod-modal .rsv-prod-grid input,
.rsv-prod-modal .rsv-prod-grid select,
.rsv-prod-modal .rsv-prod-promo input,
.rsv-prod-modal .rsv-prod-coin input {
  min-width: 0;
  min-height: 47px;
  padding: 11px 14px;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.3;
  box-sizing: border-box;
}

.rsv-prod-modal .rsv-prod-info {
  margin: 12px 2px;
  font-size: 12px;
  line-height: 1.45;
}

.rsv-prod-modal .rsv-prod-price,
.rsv-prod-modal .rsv-prod-rules,
.rsv-prod-modal .rsv-prod-promo,
.rsv-prod-modal .rsv-prod-coin {
  margin-top: 12px;
  padding: 13px 15px;
  border-radius: 12px;
}

.rsv-prod-modal .rsv-prod-price div {
  padding: 6px 0;
  font-size: 15px;
  line-height: 1.35;
}

.rsv-prod-modal .rsv-prod-price div:last-child {
  padding-top: 8px;
  font-size: 18px;
}

.rsv-prod-modal .rsv-prod-rules h3,
.rsv-prod-modal .rsv-prod-promo > b {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.35;
}

.rsv-prod-modal .rsv-prod-rules p {
  max-height: 88px;
  margin: 0 0 10px;
  padding: 9px 11px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.48;
}

.rsv-prod-modal .rsv-prod-rules label,
.rsv-prod-modal .rsv-prod-coin label {
  gap: 8px;
  font-size: 12px;
  line-height: 1.4;
}

.rsv-prod-modal .rsv-prod-rules input[type="checkbox"] {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
}

.rsv-prod-modal .rsv-prod-promo > div {
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 9px;
  margin-top: 9px;
}

.rsv-prod-modal .rsv-prod-promo button {
  border-radius: 10px;
  font-size: 14px;
}

.rsv-prod-modal .rsv-prod-confirm {
  margin-top: 15px;
  padding: 13px 18px;
  border-radius: 11px;
  font-size: 16px;
  line-height: 1.3;
}

@media (max-width: 700px) {
  .rsv-prod-modal {
    padding: 12px;
  }

  .rsv-prod-modal .rsv-prod-box {
    width: min(100%, calc(100vw - 24px)) !important;
    max-height: calc(100vh - 24px) !important;
    padding: 19px 15px 17px;
    border-radius: 17px;
  }

  .rsv-prod-modal .rsv-prod-box h2 {
    margin: 3px 30px 15px;
    font-size: 22px;
  }

  .rsv-prod-modal .rsv-prod-grid {
    gap: 10px;
  }

  .rsv-prod-modal .rsv-prod-grid input,
  .rsv-prod-modal .rsv-prod-grid select,
  .rsv-prod-modal .rsv-prod-promo input {
    min-height: 44px;
    padding: 10px 12px;
    font-size: 14px;
  }

  .rsv-prod-modal .rsv-prod-price,
  .rsv-prod-modal .rsv-prod-rules,
  .rsv-prod-modal .rsv-prod-promo {
    padding: 11px 12px;
  }
}
