/*! Copyright (c) 2025-2026 Markus Schüssler. All rights reserved.
 * SPDX-License-Identifier: LicenseRef-Markus-Schuessler-Proprietary; see repository LICENSE.
 */

/* Panels follow their actual container width, including beside the desktop sidebar. */
.buddy-card { container-type: inline-size; container-name: analyzer-buddies; }
@container analyzer-buddies (max-width: 1040px) {
  .buddy-card .buddy-entry { grid-template-columns: 1fr; align-items: flex-start; }
  .buddy-card .buddy-entry__content { display: block; width: 100%; }
  .buddy-card .buddy-entry__stats, .buddy-card .buddy-entry__glider,
  .buddy-card .buddy-entry__launch, .buddy-card .buddy-entry__coverage,
  .buddy-card .buddy-entry__timeline { margin-top: 4px; white-space: normal; }
  .buddy-card .buddy-entry__route-controls { margin-top: 6px; }
  .buddy-card .buddy-card__header { flex-wrap: wrap; }
  .buddy-card .buddy-card__header-controls { flex-wrap: wrap; }
  .buddy-card .buddy-entry__links { flex-direction: row; flex-wrap: wrap; text-align: left; }
}
.buddy-card .buddy-entry__content, .buddy-card .buddy-card__heading { overflow-wrap: anywhere; }
body .thermal-day-popup { min-width: 0; width: min(380px, calc(100vw - 32px)); max-height: 80vh; max-height: 80dvh; overflow: auto; }
body .thermal-day-popup-close { width: 44px; height: 44px; }
body .thermal-day-popup-title { min-height: 44px; margin-right: 48px; }
@media (max-width: 480px) {
  body .thermal-day-popup-stats { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 768px) {
  .xc-flightcheck-layout .ol-info-box,
  .xc-flightcheck-layout .ol-info-box.ol-info-box--airspace-summary {
    top: 66px; left: 8px; right: 8px; width: auto; max-width: calc(100% - 16px);
    max-height: calc(100% - 82px); overflow-y: auto; z-index: 6800;
  }
  .ol-info-box .airspace-summary-card { width: 100%; max-width: 100%; }
  .ol-info-box .airspace-summary-table-wrap { overflow-x: auto; }
  .ol-info-box .airspace-summary-table { min-width: 300px; font-size: 0.8rem; }
  .ol-info-box .airspace-summary-table th { font-size: 0.75rem; }
  .ol-info-box .airspace-summary-card:not(.manual-restriction-info) .airspace-summary-table :is(th, td):nth-child(2) { width: 46px; }
  .ol-info-box .airspace-summary-card:not(.manual-restriction-info) .airspace-summary-table th:nth-child(2) { white-space: nowrap; }
  .ol-info-box .track-media-info { min-width: 0; }
  .ol-info-box .info-box-close { width: 44px; height: 44px; }
  .ol-info-box .airspace-summary-header { min-height: 44px; padding-right: 48px; }
  .xc-flightcheck-layout .ol-map-view-switch__button { min-height: 44px; }
  .xc-flightcheck-layout .ol-map-view-switch + .analyzer-map-controls { top: 66px; }
  .xc-flightcheck-layout .analyzer-map-control,
  .xc-flightcheck-layout .analyzer-color-option { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .xc-flightcheck-layout .analyzer-color-menu { left: var(--analyzer-native-menu-left, 52px); grid-template-columns: repeat(auto-fit, 44px); }
  .xc-flightcheck-layout .analyzer-color-label { font-size: 0.7rem; }
  .xc-flightcheck-layout .analyzer-map-menu { left: var(--analyzer-native-menu-left, 52px); min-width: 0; width: min(300px, var(--analyzer-native-menu-width, calc(100vw - 76px))); max-width: var(--analyzer-native-menu-width, calc(100vw - 76px)); }
  .xc-flightcheck-layout .analyzer-menu-option { min-height: 44px; font-size: 0.875rem; }
  .xc-flightcheck-layout .analyzer-menu-option span { white-space: normal; overflow-wrap: anywhere; }
}

@media (max-width: 768px) {
    #file-selection-popup input[type="text"],
    #file-selection-popup input[type="email"],
    #file-selection-popup select,
    #file-selection-popup textarea { font-size: 16px; }
    #file-selection-popup .remove-file { min-width: 44px; min-height: 44px; }
}

/* Keep metadata and computed-statistic cards inside their actual column. */
.overview-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.altitude-analysis-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.overview-card, .info-row > :not(i), .stat-item, .weather-station-card__header-text,
.fcv-card__info-top, .fcv-metric { min-width: 0; overflow-wrap: anywhere; }
.trackinfo-pilot-name, .trackinfo-pilot-link, .trackinfo-pilot-username-link,
.igc-filename, .flight-filename, .fcv-card__name, .fcv-track-header__title { overflow-wrap: anywhere; }
#recall-url-input { min-width: 0; }
@media (max-width: 768px) {
    .weather-station-card__header { flex-wrap: wrap; }
    .trackinfo-action-button, .download-btn, .tab-button,
    .fcv-center-button, .fcv-card__action-button { min-height: 44px; white-space: normal; }
    .distance-point { grid-template-columns: minmax(0, 1fr) auto; }
    .distance-point-label { grid-column: 1 / -1; }
    .distance-point-info { min-width: 0; overflow-wrap: anywhere; }
    .distance-point .clickable-point { min-width: 44px; min-height: 44px; margin-left: 0; }
}

/* Map details are siblings of the map on phones, leaving the map visible while reading. */
.analyzer-mobile-3d-info { display: none; }
@media (max-width: 768px) {
  .xc-flightcheck-layout .map-column.has-map-info .map-wrapper {
    flex: 0 0 auto;
    height: clamp(260px, 42dvh, 340px);
    min-height: 0;
  }
  .xc-flightcheck-layout .map-column.has-map-info :is(.ol-map, .ol-map-3d) {
    flex: 1 1 auto;
    height: 100%;
    min-height: 0;
  }
  .xc-flightcheck-layout .map-column.has-map-info #ol-map {
    height: 100%;
    min-height: 0;
    max-height: 100%;
  }
  .xc-flightcheck-layout .map-column > .ol-info-box,
  .xc-flightcheck-layout .map-column > .ol-info-box.ol-info-box--airspace-summary {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
    max-height: min(240px, 32dvh);
    overflow-y: auto;
    border-radius: 0;
    box-shadow: none;
  }
  .xc-flightcheck-layout .map-column.is-3d-mode > .ol-info-box { display: none !important; }
  .xc-flightcheck-layout .map-column > .analyzer-mobile-3d-info:not([hidden]) {
    position: relative;
    display: block;
    min-width: 0;
    max-height: min(240px, 32dvh);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 12px;
    border-block: 1px solid var(--ui-color-border, #d2ddde);
    background: var(--ui-color-surface, #fff);
    color: var(--ui-color-text, #172b33);
  }
  .analyzer-mobile-3d-info__close {
    position: absolute;
    top: 8px;
    right: 8px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--ui-color-border, #d2ddde);
    border-radius: 6px;
    background: var(--ui-color-surface-alt, #f6f8f7);
    color: var(--ui-color-text, #172b33);
    cursor: pointer;
  }
  .analyzer-mobile-3d-info__close:focus-visible {
    outline: 2px solid var(--ui-color-primary, #176b86);
    outline-offset: 2px;
  }
  .analyzer-mobile-3d-info .analyzer-3d-airspace-info {
    max-height: none;
    overflow: visible;
  }
  .analyzer-mobile-3d-info .analyzer-3d-airspace-info__entry:first-of-type {
    padding-right: 52px;
  }
}
