/* Keep the search button on the same row as the search box (mobile fix). */
#searchField #fieldContainer #googleSearch > div { display: flex; flex-wrap: nowrap; align-items: flex-start; }
#searchField #fieldContainer #myField { flex: 1 1 auto; min-width: 0; }
#searchField #fieldContainer #googleSearch input[type="image"] { flex: none; }
/* Remove the search bar end caps and their side columns; keep bar height. */
img.style50 { display: none; }
td.style50 { width: 0; padding: 0; }
td.style99 { height: 60px; border-radius: 10px; }
/* Touch screens only (phones/tablets): cap the centre table at 450px. */
@media (any-pointer: coarse), (max-device-width: 900px) {
  table[width="600"] { width: 450px; }
  table[width="600"] td[width="600"], td.style99 { width: auto; }
}
/* Touch screens: larger small text. */
@media (any-pointer: coarse), (max-device-width: 900px) {
  .style104, .style114 { font-size: 15px; }
  #footer { font-size: 13px; }
}
/* Touch screens: keep the All/Image/.../more links on one line (widens the bar to fit). */
@media (any-pointer: coarse), (max-device-width: 900px) {
  table[width="600"] td[width="600"] { white-space: nowrap; }
}
/* Short screens (phone/tablet landscape): put the footer below the content instead of over it. */
@media (max-height: 700px) {
  #footer { top: 480px; bottom: auto; }
}
/* Touch screens in portrait: enlarge the main area only (header and footer stay normal size). */
@media (orientation: portrait) and (any-pointer: coarse), (orientation: portrait) and (max-device-width: 900px) {
  body { zoom: 1.3; }
  #topleft, #topright, #page, #footer { zoom: 0.7692; }
}
/* Touch screens: bigger Google results tabs (Web / Image). */
@media (any-pointer: coarse), (max-device-width: 900px) {
  .gsc-tabsArea .gsc-tabHeader { padding: 10px 30px !important; margin: 0 20px !important; }
}
/* Google results: left-align text (page wraps them in align="center"). */
#cse-search-results { text-align: left; }
/* Results pages, touch portrait: footer text back to normal size, one line. */
@media (orientation: portrait) and (any-pointer: coarse), (orientation: portrait) and (max-device-width: 900px) {
  table[width="600"] p.style56 { width: 0; margin-left: auto; margin-right: auto; white-space: nowrap; display: flex; justify-content: center; }
}
/* Touch screens: taller tap targets for the All / Image / ... / more links. */
@media (any-pointer: coarse), (max-device-width: 900px) {
  td[width="600"] .style104, td[width="600"] .style110 { display: inline-block; padding: 10px 0; }
}
/* Google results tabs (Web / Image): padding on all screens. */
.gsc-tabsArea .gsc-tabHeader { padding: 10px 30px !important; margin: 0 20px !important; }
/* Google results page numbers: padding on all screens. */
.gsc-results .gsc-cursor-box .gsc-cursor-current-page,
.gsc-results .gsc-cursor-box .gsc-cursor-page { padding: 2px 8px !important; }
