/* Infinity new 1.2.1: public-theme mobile layout. No backend/Role Nav selectors. */
body.ifs-public-theme {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.ifs-public-theme .ifs-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0;
}
.ifs-public-theme .ifs-table-scroll table { margin: 0; }
.ifs-public-theme .ifs-editorial-page pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 992px) {
  .ifs-public-theme .ifs-editorial-page,
  .ifs-public-theme .ifs-guideline-page,
  .ifs-public-theme .ifs-editorial-page .obj_article_details,
  .ifs-public-theme .ifs-editorial-page .main_entry,
  .ifs-public-theme .ifs-editorial-page .entry_details { min-width: 0; }
  /* Inline widths come from the editorialTeam rich-text field, not a template.
     Attribute selectors are a no-JS fallback for the same legacy row shape. */
  .ifs-public-theme .editorial-data-renderer .ifs-board-row,
  .ifs-public-theme .editorial-data-renderer div[style*="display: flex"],
  .ifs-public-theme .editorial-data-renderer div[style*="display:flex"] {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    padding: 18px !important;
  }
  .ifs-public-theme .editorial-data-renderer .ifs-board-row > div,
  .ifs-public-theme .editorial-data-renderer div[style*="display: flex"] > div,
  .ifs-public-theme .editorial-data-renderer div[style*="display:flex"] > div {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow-wrap: anywhere;
  }
  .ifs-public-theme .editorial-data-renderer .ifs-board-card {
    margin: 16px 0 !important;
    border: 1px solid #dfe8ef;
    border-radius: 10px;
    box-shadow: 0 5px 18px rgba(31,70,100,.05) !important;
    background: #fff;
  }
  .ifs-public-theme .editorial-data-renderer .ifs-board-portrait img,
  .ifs-public-theme .editorial-data-renderer div[style*="display: flex"] > div:first-child img,
  .ifs-public-theme .editorial-data-renderer div[style*="display:flex"] > div:first-child img {
    display: block;
    width: 64px !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 7px;
  }
  .ifs-public-theme .editorial-data-renderer .ifs-board-copy,
  .ifs-public-theme .editorial-data-renderer .ifs-board-copy > div { font-size: 16px !important; line-height: 1.6; }
  .ifs-public-theme .editorial-data-renderer .ifs-board-copy p { margin: 8px 0 0; font-size: 14px; line-height: 1.75; }
  .ifs-public-theme .editorial-data-renderer .ifs-board-copy a { font-weight: 600; }
}
@media (max-width: 760px) {
  body.ifs-public-theme .banner-flex-container,
  .ifs-public-theme .tech-contact-grid,
  .ifs-public-theme .page_search .filter-grid { grid-template-columns: minmax(0, 1fr); }
  body.ifs-public-theme .custom-top-nav .flex-between { flex-wrap: wrap; gap: 8px 16px; padding-top: 10px; padding-bottom: 10px; }
  body.ifs-public-theme .nav-actions { flex-wrap: wrap; }
  body.ifs-public-theme .nav-link,
  body.ifs-public-theme .pkp_navigation_primary > li > a,
  body.ifs-public-theme .pkp_navigation_primary > li > ul > li > a { min-height: 44px; }
  body.ifs-public-theme .mobile-nav-toggle { min-width: 44px; min-height: 44px; touch-action: manipulation; }
  body.ifs-public-theme .custom-site-nav.mobile-open { max-height: 65vh; max-height: 65dvh; overscroll-behavior-y: contain; }
  body.ifs-public-theme .elsevier-search-container { min-width: 0; max-width: 100%; padding-left: 0; border-left: 0; }
  body.ifs-public-theme .elsevier-search-input { min-width: 0; font-size: 16px; }
  body.ifs-public-theme .journal-text-info { min-width: 0; }
  body.ifs-public-theme .journal-main-title { overflow-wrap: anywhere; }
  .ifs-public-theme .ifs-editorial-page .admin-edit-wrapper { position: static; margin: 0 0 10px; }
  .ifs-public-theme .ifs-editorial-page .tech-about-card,
  .ifs-public-theme .ifs-editorial-page .tech-reading-card,
  .ifs-public-theme .ifs-editorial-page .tech-content-card,
  .ifs-public-theme .ifs-editorial-page .tech-card-container,
  .ifs-public-theme .ifs-editorial-page .tech-list-card,
  .ifs-public-theme .ifs-editorial-page .tech-announcement-card,
  .ifs-public-theme .ifs-editorial-page .tech-archive-card,
  .ifs-public-theme .ifs-editorial-page .tech-article-card,
  .ifs-public-theme .ifs-editorial-page .issue-floating-card,
  .ifs-public-theme .ifs-editorial-page .tech-auth-card,
  .ifs-public-theme .ifs-editorial-page .tech-register-card,
  .ifs-public-theme .ifs-editorial-page .tech-recovery-card,
  .ifs-public-theme .ifs-editorial-page .tech-message-card { padding: 22px 18px; border-radius: 10px; }
  .ifs-public-theme .ifs-editorial-page img { max-width: 100% !important; height: auto; }
  .ifs-public-theme .ifs-editorial-page iframe,
  .ifs-public-theme .ifs-editorial-page video { max-width: 100%; }
  .ifs-public-theme .ifs-editorial-page a,
  .ifs-public-theme .ifs-editorial-page p { overflow-wrap: anywhere; }
  .ifs-public-theme .ifs-editorial-page .tech-header-title,
  .ifs-public-theme .ifs-editorial-page .issue-banner-title,
  .ifs-public-theme .ifs-editorial-page .tech-article-title { font-size: 28px; line-height: 1.3; }
  .ifs-public-theme .ifs-editorial-page .obj_article_details > .row { gap: 24px; }
  .ifs-public-theme .ifs-editorial-page .entry_details { min-width: 0; }
  .ifs-public-theme .ifs-editorial-page .cmp_form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .ifs-public-theme .ifs-editorial-page .cmp_form select,
  .ifs-public-theme .ifs-editorial-page .cmp_form textarea { min-width: 0; max-width: 100%; font-size: 16px; }
  .ifs-public-theme .ifs-editorial-page .cmp_form button.submit { min-height: 46px; white-space: normal; }
  .ifs-public-theme .tech-register-card .fields > div,
  .ifs-public-theme .tech-auth-card .fields > div,
  .ifs-public-theme .tech-recovery-card .fields > div { padding: 0; margin: 0 0 20px; float: none; }
  .ifs-public-theme .tech-register-card .fields > div > label { margin-bottom: 0; }
  .ifs-public-theme .tech-register-card .optin { padding: 12px; gap: 10px; }
  .ifs-public-theme .tech-register-card .optin label { min-width: 0; }
  .ifs-public-theme .tech-register-card .recaptcha_wrapper { max-width: 100%; overflow-x: auto; }
  .ifs-public-theme .page_search .custom-date-selectors { display: flex; flex-wrap: wrap; gap: 8px; }
  .ifs-public-theme .page_search .custom-date-selectors select { flex: 1 1 68px; min-width: 0; max-width: 100%; font-size: 16px; }
  .ifs-public-theme .page_search .results-header,
  .ifs-public-theme .page_search .pagination-bar { flex-wrap: wrap; gap: 12px; }
  .ifs-public-theme .archive-magic-wrapper ul.issues_archive { grid-template-columns: minmax(0, 1fr); }
  .ifs-public-theme .ifs-guideline-page { max-width: 100% !important; margin-top: 16px !important; overflow-wrap: anywhere; }
  .ifs-public-theme .ifs-guideline-page h1 { font-size: 32px !important; line-height: 1.25 !important; }
  .ifs-public-theme .ifs-guideline-page h2 { font-size: 22px !important; line-height: 1.4 !important; }
  .ifs-public-theme .ifs-guideline-page p,
  .ifs-public-theme .ifs-guideline-page li { font-size: 15px; line-height: 1.85; }
  .ifs-public-theme .ifs-guideline-page nav a { display: inline-flex; align-items: center; min-height: 40px; }
  .ifs-public-theme .ifs-homepage .ifh-issue-feature-body { min-width: 0; }
  .ifs-public-theme .ifs-homepage .ifh-section-nav a { display: inline-flex; align-items: center; min-height: 40px; }
}
@media (max-width: 480px) {
  .ifs-public-theme .editorial-data-renderer .ifs-board-row,
  .ifs-public-theme .editorial-data-renderer div[style*="display: flex"],
  .ifs-public-theme .editorial-data-renderer div[style*="display:flex"] { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 18px 16px !important; }
  .ifs-public-theme .ifs-guideline-page h1 { font-size: 29px !important; }
  body.ifs-public-theme .header-submit-btn { min-height: 44px; white-space: normal; text-align: center; }
  .ifs-public-theme .submission-action-panel { padding: 24px 16px !important; }
}
