/* Small-screen adaptations. Native Invenio menu events and scientific plots stay in charge. */
.argilo-menu-toggle-content { display: inline-flex; align-items: center; gap: .65rem; }

/* Match Invenio's tablet breakpoint, including phones in landscape. */
@media (max-width: 991px) {
  .argilo-site-header #invenio-nav.ui.menu {
    height: auto;
    min-height: 72px;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
  }
  .argilo-site-header #invenio-nav .argilo-brand { gap: .5rem; }
  /* Native mobile CSS sets width:auto!important; max-width keeps the brand within its column. */
  .argilo-site-header #invenio-nav img.rdm-logo { width: 64px; max-width: 64px; height: 44px; }
  .argilo-site-header .argilo-brand__text { display: grid; }
  .argilo-site-header .argilo-brand__text strong { font-size: 18px; }
  .argilo-site-header #invenio-nav #rdm-burger-toggle { position: static; transform: none; font-size: 16px; }
  .argilo-site-header #invenio-nav #rdm-burger-menu-icon,
  .argilo-site-header #invenio-menu #rdm-close-burger-menu-icon {
    min-width: 44px;
    min-height: 44px;
    padding: .75rem;
    margin: 0;
    color: var(--arg-color-primary-strong);
    background: var(--arg-color-surface);
    font-size: 16px;
    line-height: 1.25;
    border: 1px solid var(--arg-color-border);
  }
  .argilo-site-header #invenio-nav.ui.menu.active #invenio-menu.ui.menu {
    top: 0;
    bottom: 0;
    width: min(100vw, 360px);
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    margin: 0;
    padding: max(.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    border-radius: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-padding-block: 64px 1rem;
  }
  .argilo-site-header #invenio-nav.ui.menu.active #invenio-menu #rdm-close-burger-menu-icon {
    position: sticky;
    top: 0;
    z-index: 2;
    flex-shrink: 0;
    margin: 0 0 .75rem auto;
  }
  .argilo-site-header #invenio-nav.ui.menu.active #invenio-menu.ui.menu .item { padding: .15rem 0; }
  .argilo-site-header #invenio-nav.ui.menu.active #invenio-menu.ui.menu .item > a:not(.ui.button),
  .argilo-site-header #invenio-nav.ui.menu.active #invenio-menu.ui.menu .sub-menu .item {
    min-height: 44px;
    padding: .7rem .65rem;
    font-size: 16px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .argilo-site-header #invenio-nav.ui.menu.active #invenio-menu.ui.menu .sub-menu { margin-top: 1rem; }
  .argilo-site-header #invenio-menu .ui.button { min-height: 44px; }
  .argilo-site-header #header-search-bar .ui.input input { min-width: 0; min-height: 44px; font-size: 16px; }
  body:has(.argilo-site-header #invenio-nav.active) { overflow: hidden; }
}

@media (max-width: 767px) {
  /* Controls retain their labels; long actions grow vertically instead of clipping. */
  #main .ui.button,
  #main .argilo-map-atlas-button {
    min-height: 44px;
    min-width: 44px;
    max-width: 100%;
    font-size: 16px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
    touch-action: manipulation;
  }
  #main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]):not([type=file]), select, textarea),
  #main .ui.selection.dropdown {
    min-width: 0;
    min-height: 44px;
    max-width: 100%;
    font-size: 16px;
  }
  /* Native macOS/Safari selects ignore padding until their platform appearance is removed. */
  #main select:not([multiple]):not([size]) {
    appearance: none;
    height: auto;
    padding: .7rem 2.4rem .7rem .75rem;
    background-color: var(--arg-color-surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236f4f34' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .65rem center;
    color: var(--arg-color-text);
    border: 1px solid var(--arg-color-control-border);
    border-radius: var(--arg-radius-control);
  }
  #main .ui.action.input { min-width: 0; max-width: 100%; }
  #main .ui.action.input > input { min-width: 0; }
  #main .ui.buttons { flex-wrap: wrap; }
  #main .ui.pagination.menu { flex-wrap: wrap; max-width: 100%; }
  #main .ui.pagination.menu .item { min-width: 44px; min-height: 44px; justify-content: center; }
  #main .ui.secondary.pointing.menu { flex-wrap: wrap; }
  #main .ui.secondary.pointing.menu .item { min-height: 44px; white-space: normal; }
  #main .ui.checkbox:not(.slider) label { min-height: 44px; padding-top: 12px; padding-bottom: 12px; line-height: 1.4; }
  #main .ui.checkbox:not(.slider) label::before,
  #main .ui.checkbox:not(.slider) label::after { top: 12px; }
  #main .argilo-discovery-search .description { font-size: 16px; line-height: 1.6; }

  /* Keep every module visible and readable without a horizontal scroll strip. */
  .argilo-site-navigation { padding: .5rem 1rem 0; }
  .argilo-site-navigation .argilo-module-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; }
  .argilo-site-navigation .argilo-module-nav a {
    min-width: 0;
    min-height: 48px;
    justify-content: flex-start;
    gap: .5rem;
    padding: .65rem .5rem;
    font-size: 16px;
    line-height: 1.35;
  }
  .argilo-site-navigation .argilo-module-nav a span { min-width: 0; overflow-wrap: anywhere; }
  .argilo-site-navigation .argilo-module-nav a:last-child { grid-column: 1 / -1; }
  .argilo-page-header .argilo-breadcrumb { align-items: center; font-size: 14px; }
  .argilo-page-header .argilo-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
  #main :is(h1, h2, h3, .ui.header, .description, .argilo-catalog-item, .argilo-mineral-page) { overflow-wrap: anywhere; }
  #main :is(.argilo-page-subtitle, .argilo-catalog-page p, .argilo-mineral-page p, .argilo-mineral-index, .argilo-pangaea-home p) { font-size: 16px; line-height: 1.6; }
  #frontpage-search-bar { padding-block: 1.25rem; }
  #frontpage-search-bar .ui.header { font-size: 24px; line-height: 1.3; }
  #frontpage-search-bar .ui.input input { min-width: 0; min-height: 44px; font-size: 16px; }
  #main .argilo-pangaea-home h2 { font-size: 24px; line-height: 1.3; }
  #main .argilo-pangaea-home .argilo-search-form { display: flex; flex-wrap: wrap; gap: .5rem; }
  #main .argilo-pangaea-home .argilo-search-form input { flex: 1 1 140px; }
  #main .argilo-pangaea-home .argilo-topics-picker { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  #main .argilo-pangaea-home .argilo-topics-picker :is(select, button) { width: 100%; }
  #main .argilo-catalog-topics { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  #main .argilo-catalog-topics button { justify-content: center; }
  #main :is(.argilo-catalog-item-actions, .argilo-hero-actions, .argilo-method-actions, .argilo-related-links, .argilo-package__actions, .argilo-package__export-actions) { display: flex; flex-wrap: wrap; gap: .5rem; }
  #main :is(.argilo-catalog-item-actions, .argilo-hero-actions, .argilo-method-actions, .argilo-related-links, .argilo-package__actions, .argilo-package__export-actions) > .ui.button { flex: 1 1 180px; margin: 0; }
  #main :is(.argilo-catalog-page, .argilo-mineral-page) summary { min-height: 44px; padding-block: .65rem; line-height: 1.5; }
  #main .argilo-catalog-geo-overview > a { display: inline-flex; gap: .5rem; align-items: center; min-height: 44px; }

  /* Panels may shrink; scientific tables keep their own horizontal scrolling. */
  #main :is(.argilo-drx__panel, .argilo-drx__main, .argilo-drx__context, .argilo-package__panel, .argilo-geo-network__panel, .argilo-geo-atlas__panel) { min-width: 0; }
  #main :is(.argilo-drx__mineral-grid, .argilo-drx__selected-grid, .argilo-drx__report-panel .two-cols, .argilo-drx__report-panel .short-grid, .argilo-geo-network__overview-grid, .argilo-geo-network__comparison-grid) { grid-template-columns: minmax(0, 1fr); }
  #main .argilo-map-atlas .argilo-map-atlas-header { flex-direction: column; align-items: stretch; }
  #main .argilo-map-atlas :is(.argilo-map-atlas-header > div, .argilo-map-atlas-toolbar > div, .argilo-map-atlas-sidebar) { min-width: 0; }
  #main .argilo-map-atlas :is(.argilo-map-atlas-actions, .argilo-map-atlas-base-switcher, .argilo-map-atlas-meta) { width: 100%; }
  #main .argilo-map-atlas-button { flex: 1 1 auto; }
  #main .argilo-map-atlas-chip { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  #main .argilo-map-atlas-stat-label { overflow-wrap: anywhere; letter-spacing: normal; }
  #main .argilo-map-panel .leaflet-bar a { width: 44px; height: 44px; line-height: 44px; }
  #main .argilo-map-panel .leaflet-control-layers-toggle { width: 44px; height: 44px; }
  #rdm-footer-element a { display: inline-block; padding-block: .65rem; min-height: 44px; overflow-wrap: anywhere; }
}

@media (max-width: 360px) {
  .argilo-site-header #invenio-nav img.rdm-logo { width: 56px; max-width: 56px; }
  .argilo-site-header .argilo-brand__text strong { font-size: 17px; }
  .argilo-site-navigation .argilo-module-nav a { gap: .35rem; padding-inline: .35rem; }
}
