/* Journal Responsive Layout v1.2.0 — OJS 3.4.0-x
 * Mobile-only fixes for verified TAXPEDIA and TARBIYA homepage HTML.
 * Each site has its own structure of tables and inline widths.
 * Desktop appearance remains untouched.
 */

@media screen and (max-width: 820px) {
  /* The uploaded header logo is a very wide image (6000 x 931). */
  .pkp_site_name_wrapper {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 10px 14px !important;
    min-height: 70px !important;
  }

  .pkp_site_name_wrapper .pkp_site_nav_toggle {
    z-index: 4;
    left: 10px !important;
    top: 50% !important;
    transform: translateY(-50%);
  }

  .pkp_site_name_wrapper .pkp_site_name {
    box-sizing: border-box !important;
    width: calc(100% - 50px) !important;
    max-width: calc(100% - 50px) !important;
    height: auto !important;
    margin: 0 0 0 50px !important;
    padding: 5px 0 !important;
  }

  .pkp_site_name a.is_img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  .pkp_site_name a.is_img img {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 78px !important;
    object-fit: contain !important;
    object-position: left center;
  }

  /* Barcode exists separately on desktop and crowds the mobile logo. */
  .pkp_site_name .issn_no {
    display: none !important;
  }

  .pkp_structure_main,
  .page_index_journal,
  .page_index_journal .additional_content {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .page_index_journal .additional_content > p:first-child img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Five top-level tables were confirmed on the TAXPEDIA homepage.
     Their immediate cells need to stack; nested tables are handled below. */
  .page_index_journal .additional_content > table,
  .page_index_journal .additional_content > table > tbody,
  .page_index_journal .additional_content > table > tbody > tr {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    border-spacing: 0 !important;
  }

  .page_index_journal .additional_content > table > tbody > tr > td {
    display: block !important;
    box-sizing: border-box !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 20px !important;
    vertical-align: top !important;
  }

  .page_index_journal .additional_content p {
    text-align: left !important;
    word-spacing: normal !important;
    line-height: 1.65 !important;
    overflow-wrap: break-word;
  }

  .page_index_journal .additional_content h1,
  .page_index_journal .additional_content h2 {
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* Table 1: green journal identity card / cover and description. */
  .page_index_journal .additional_content > table:nth-of-type(1) {
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(1) > tbody > tr > td:first-child {
    padding: 26px 20px 14px !important;
    text-align: center !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(1) > tbody > tr > td:first-child img {
    box-sizing: border-box !important;
    width: 190px !important;
    max-width: 65% !important;
    height: auto !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(1) > tbody > tr > td:last-child {
    padding: 16px 22px 26px !important;
    text-align: center !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(1) h1 {
    color: #fff !important;
    font-size: clamp(23px, 6.2vw, 29px) !important;
    line-height: 1.3 !important;
    text-align: center !important;
    margin-bottom: 14px !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(1) p {
    color: #fff !important;
    font-size: 15px !important;
    text-align: left !important;
    line-height: 1.65 !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(1) > tbody > tr > td:last-child > div[style*="width: 90px"] {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Table 2: four metadata cards become an even two-column grid. */
  .page_index_journal .additional_content > table:nth-of-type(2) > tbody > tr {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(2) > tbody > tr > td {
    margin: 0 !important;
    padding: 14px 12px !important;
    min-width: 0 !important;
  }

  /* Table 3: journal profile and quick facts stack vertically. */
  .page_index_journal .additional_content > table:nth-of-type(3) > tbody > tr > td {
    margin-bottom: 12px !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(3) > tbody > tr > td > table {
    width: 100% !important;
    max-width: 100% !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(3) > tbody > tr > td > table td {
    overflow-wrap: break-word !important;
    padding: 8px !important;
  }

  /* Table 4: scholarly scope cards, formerly two narrow columns. */
  .page_index_journal .additional_content > table:nth-of-type(4) > tbody > tr > td > table,
  .page_index_journal .additional_content > table:nth-of-type(4) > tbody > tr > td > table > tbody,
  .page_index_journal .additional_content > table:nth-of-type(4) > tbody > tr > td > table > tbody > tr {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    border-spacing: 0 !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(4) > tbody > tr > td > table > tbody > tr > td {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 12px !important;
    padding: 16px !important;
  }

  /* Table 5: manuscript types and publication information stack. */
  .page_index_journal .additional_content > table:nth-of-type(5) > tbody > tr > td {
    margin-bottom: 12px !important;
  }

  /* TARBIYA (OJS 3.4): unlike TAXPEDIA, its hero table is nested inside two
     DIVs in Additional Content. The first TD has an inline width of 250px;
     therefore the text in the second TD becomes painfully narrow on phones.
     Scope this override only to TARBIYA's verified hero-table position so
     that the Quick Facts table and other journal tables are not disturbed. */
  .page_index_journal .additional_content > div:first-child > div:nth-child(2) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 18px 16px 20px !important;
  }

  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table,
  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table > tbody,
  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table > tbody > tr {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table > tbody > tr > td {
    display: block !important;
    box-sizing: border-box !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    vertical-align: top !important;
  }

  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table > tbody > tr > td:first-child {
    padding-bottom: 20px !important;
    text-align: center !important;
  }

  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table > tbody > tr > td:first-child img {
    width: 100% !important;
    max-width: 185px !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table > tbody > tr > td:last-child h1 {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(23px, 6.4vw, 28px) !important;
    line-height: 1.28 !important;
    overflow-wrap: break-word !important;
  }

  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table > tbody > tr > td:last-child p {
    max-width: 100% !important;
    text-align: left !important;
    word-spacing: normal !important;
    overflow-wrap: break-word !important;
  }

  /* Let long badge labels (including DOI prefix) wrap inside the full-width
     second column without stretching or overflowing the hero card. */
  .page_index_journal .additional_content > div:first-child > div:nth-child(2) > table > tbody > tr > td:last-child > div:first-child > span {
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@media screen and (max-width: 380px) {
  .page_index_journal .additional_content > table:nth-of-type(2) > tbody > tr {
    grid-template-columns: 1fr !important;
  }

  .page_index_journal .additional_content > table:nth-of-type(1) > tbody > tr > td:last-child {
    padding: 16px 16px 24px !important;
  }
}
