/* Site-owned styles that replace removed WordPress plugin stylesheets.
 * Each section notes the plugin whose (still-used) rules it re-homes.
 * The captured theme CSS files are artifacts and stay untouched; this file
 * loads after them and may override. */

/* --- menu-image (nav mega-menu item images) --- */
.menu-item a img,
img.menu-image-title-after {
  border: none;
  box-shadow: none;
  vertical-align: middle;
  width: auto;
  display: inline;
}
.menu-image-title-after.menu-image-not-hovered img {
  padding-right: 10px;
}

/* --- tablepress (two tables on the 2020-10-12 press release) --- */
.tablepress {
  --text-color: #111;
  --head-bg-color: #d9edf7;
  --odd-bg-color: #fff;
  --even-bg-color: #f9f9f9;
  --hover-bg-color: #f3f3f3;
  --border-color: #ddd;
  --padding: 8px;
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  clear: both;
  color: var(--text-color);
  margin: 0 auto 1em;
  table-layout: auto;
  width: 100%;
}
.tablepress > :not(caption) > * > * {
  background: none;
  border: none;
  box-sizing: border-box;
  padding: var(--padding);
  text-align: left;
  vertical-align: top;
}
.tablepress > thead + tbody > tr > *,
.tablepress > tbody > tr ~ tr > * {
  border-top: 1px solid var(--border-color);
}
.tablepress > thead > tr > * {
  background-color: var(--head-bg-color);
  font-weight: 700;
  vertical-align: middle;
}
.tablepress > tbody.row-striping > tr:nth-child(odd) > * {
  background-color: var(--odd-bg-color);
}
.tablepress > tbody.row-striping > tr:nth-child(even) > * {
  background-color: var(--even-bg-color);
}
.tablepress > tbody.row-hover > tr:hover > * {
  background-color: var(--hover-bg-color);
}
.tablepress img {
  border: none;
  margin: 0;
  max-width: none;
  padding: 0;
}
.tablepress-table-description {
  clear: both;
  display: block;
}

/* --- contact-form-7 (rules the rewritten forms still rely on) --- */
.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  word-wrap: normal !important;
}
.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid #00a0d2;
}
.wpcf7 form[data-status="init"] .wpcf7-response-output,
.wpcf7 form[data-status="submitting"] .wpcf7-response-output {
  display: none;
}
.wpcf7 form[data-status="sent"] .wpcf7-response-output {
  border-color: #46b450;
}
.wpcf7 form[data-status="failed"] .wpcf7-response-output {
  border-color: #dc3232;
}
.wpcf7 form[data-status="invalid"] .wpcf7-response-output {
  border-color: #ffb900;
}
.wpcf7-form-control-wrap {
  position: relative;
}
.wpcf7-not-valid-tip {
  color: #dc3232;
  font-size: 1em;
  font-weight: 400;
  display: block;
}
.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 1em;
}
.wpcf7-list-item-label:before,
.wpcf7-list-item-label:after {
  content: " ";
}
.wpcf7 input[type="file"] {
  cursor: pointer;
}
.wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
  direction: ltr;
}

/* --- language toggle (replaces the Localize.js floating widget) --- */
#fove-lang-toggle {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 9999;
  padding: 8px 16px;
  border: none;
  border-radius: 20px;
  background: #111;
  color: #fff;
  font-size: 13px;
  font-family: inherit;
  letter-spacing: 0.05em;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
#fove-lang-toggle:hover {
  background: #333;
}

/* The static reference-page paginator adds a #posts_list wrapper. Prevent its
 * min-content width from expanding and clipping the publication list on phones. */
.n_reference #posts_list {
  width: 100%;
  min-width: 0;
}

@media (max-width: 600px) {
  .n_reference .posts_container {
    width: 100%;
    min-width: 0;
  }
}
