/* Shared mobile refinements, loaded after each page's existing styles. */
@media (max-width: 760px) {
  main .button {
    max-width: 100%;
    min-height: 48px;
    height: auto;
    padding: 14px 18px;
    line-height: 1.5;
    white-space: normal;
    text-align: center;
    vertical-align: top;
    overflow-wrap: anywhere;
  }
  main .button + p {
    margin-top: 20px;
    clear: both;
  }
  main .reading > .button {
    display: flex;
    width: fit-content;
    margin-bottom: 20px;
  }
  main .select-note { line-height: 1.6; }
  main .section-sm > .shell > h2 {
    font-size: clamp(30px, 8vw, 38px);
    line-height: 1.12;
    margin-bottom: 24px;
  }
  main .reading h2 {
    font-size: clamp(30px, 8vw, 38px);
    line-height: 1.12;
    margin-bottom: 22px;
  }
  main .catalogue-intro h1 {
    font-size: clamp(36px, 10vw, 48px);
    line-height: 1.08;
    overflow-wrap: break-word;
  }
  main .break-grid { grid-template-columns: minmax(0, 1fr); }
  main .break-card, main .trip-summary, main .reading,
  main .field-grid > *, .footer-col { min-width: 0; }
  main .break-card .break-body { padding: 22px; }
  main .break-card .break-body h3 {
    font-size: clamp(27px, 7.2vw, 32px);
    line-height: 1.12;
    margin-bottom: 18px;
  }
  main .break-card .break-price {
    font-size: clamp(27px, 7.2vw, 32px);
    line-height: 1.2;
    margin-bottom: 18px;
  }
  main .break-card .break-price span { font-size: 13px; line-height: 1.5; }
  main .break-card .button { width: 100%; }
  main .v39-card-photo > span { font-size: 11px; line-height: 1.45; }
  main .trip-summary h2 { font-size: 34px; line-height: 1.15; }
  main .reading a:not(.button), .site-footer a { overflow-wrap: anywhere; }
  main input, main select, main textarea { max-width: 100%; font-size: 16px; }
  .main-nav.open { max-height: calc(100dvh - 78px); overflow-y: auto; }
  .main-nav a { min-height: 44px; }
}
@media (max-width: 380px) {
  .site-footer .footer-top { grid-template-columns: minmax(0, 1fr); }
  main .break-card .break-body { padding: 18px; }
  main .button { letter-spacing: .09em; }
}
