/* MyPage layout belongs to the shared page, not an individual tenant theme. */
.ua-mypage-mobile-menu-toggle { display: none; }
/* Unbroken product codes/titles must not escape a card on desktop either. */
body .ua-mypage-booking-card-product { overflow-wrap: anywhere; }

@media (max-width: 980px) {
  /* Keep the profile title intact and place the registration date below it. */
  body .ua-profile-wrap .ua-mypage-section-header {
    flex-direction: column; align-items: flex-start; justify-content: flex-start;
    gap: 8px; height: auto; min-height: 55px;
  }
  /* Contact values can be longer than the narrow label/value grid column. */
  body .ua-mypage-bv-value { overflow-wrap: anywhere; }
  body .ua-mypage-booking-view-product-title { overflow-wrap: anywhere; }
  body .ua-mypage-shell { grid-template-columns: minmax(0, 1fr) !important; min-width: 0; min-height: 0; gap: 20px; }
  body .ua-mypage-shell > main.ua-mypage-shell-main { padding-top: 0; min-width: 0; min-height: 0; }
  body .ua-mypage-side { position: static; width: 100%; min-width: 0; }
  body .ua-mypage-profile-box { height: auto; min-height: 64px; padding: 12px 14px; gap: 12px; margin-bottom: 10px; }
  body .ua-mypage-profile-avatar { width: 40px; height: 40px; flex-shrink: 0; }
  body .ua-mypage-profile-body { min-width: 0; flex: 1; }
  body .ua-mypage-profile-name { font-size: 15px; overflow-wrap: anywhere; }
  body .ua-mypage-profile-contact { font-size: 13px; overflow-wrap: anywhere; }
  body .ua-mypage-side[data-ua-side-accordion-init="1"] .ua-mypage-mobile-menu-toggle {
    display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid #e5e7eb;
    border-radius: 8px; background: #f8fafc; color: #111827; font: inherit; font-size: 14px; cursor: pointer;
  }
  body .ua-mypage-mobile-menu-toggle svg { width: 18px; height: 18px; flex-shrink: 0; }
  body .ua-mypage-mobile-menu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  body .ua-mypage-side[data-ua-side-accordion-init="1"]:not(.is-mobile-menu-open) .ua-mypage-side-list { display: none; }
  body .ua-mypage-side-list { margin-top: 8px; }
  body .ua-mypage-side-sublink { min-height: 44px; box-sizing: border-box; }

  body .ua-mypage-booking-cards,
  body .ua-mypage-booking-card { min-width: 0; max-width: 100%; }
  body .ua-mypage-booking-card-body {
    display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px;
    padding: 16px; min-width: 0;
  }
  body .ua-mypage-booking-card-thumb { width: 64px; height: 64px; grid-column: 1; grid-row: 1; }
  /* Only the image and title share a row. Details and payment use both columns. */
  body .ua-mypage-booking-card-info { display: contents; }
  body .ua-mypage-booking-card-info-top {
    grid-column: 2; grid-row: 1; display: flex; flex-direction: column; align-items: stretch;
    min-width: 0; gap: 5px; margin: 0;
  }
  body .ua-mypage-booking-card-product {
    flex: none; min-width: 0; margin: 0; font-size: 16px; line-height: 1.45;
    word-break: keep-all; overflow-wrap: anywhere;
  }
  body .ua-mypage-booking-card-date-right {
    min-width: 0; font-size: 12px; font-weight: 400; line-height: 1.5;
    white-space: normal; overflow-wrap: anywhere;
  }
  body .ua-mypage-booking-card-summary-wrap,
  body .ua-mypage-booking-card-payment-section,
  body .ua-mypage-booking-card-days-left { grid-column: 1 / -1; min-width: 0; margin-bottom: 0; }
  body .ua-mypage-booking-card-payment-row { grid-template-columns: 76px minmax(0, 1fr); }
  body .ua-mypage-payment-label,
  body .ua-mypage-payment-value,
  body .ua-mypage-booking-card-bank-info { min-width: 0; overflow-wrap: anywhere; }
  body .ua-mypage-booking-card-hd-left { min-width: 0; flex-wrap: wrap; overflow-wrap: anywhere; }
  body .ua-mypage-booking-card-hd { flex-wrap: wrap; gap: 8px; }
  body .ua-mypage-booking-filter { display: flex; flex-wrap: wrap; gap: 8px; }
  body .ua-mypage-filter-input { flex: 1 1 100%; min-width: 0; max-width: 100%; }
  body .ua-mypage-filter-select { min-width: 0; max-width: 100%; }

  /* History cards have no thumbnail/title row. Keep their entire content full width. */
  body .ua-mypage-changes-cancels-card .ua-mypage-booking-card-body,
  body .ua-mypage-changes-cancels-card .ua-mypage-booking-card-info { display: block; }
}
