/* Theme: Great Midwest Laboratories
   Based on WP theme framework, customized for GML */

/* === Reset === */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: #d6dbd9 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAIklEQVQIW2NkYPj/n4EBCBgZGRkYQAIgDpANEmBkAAkAAFEEBBl3H7gAAAAASUVORK5CYII=');
  color: #444;
  font: 13px/1.7 Arial, "Helvetica Neue", Helvetica, sans-serif;
}

a { color: #1e6fa7; }
a:hover { color: #b5291c; }
img { border: 0; max-width: 100%; }

/* Default paragraph spacing in page content (zero specificity, so component styles still win) */
:where(#content) p { margin-bottom: 10px; }

/* === Wrapper === */
#wrapper {
  width: 980px;
  margin: 18px auto;
  background: #fff;
  border: 1px solid #b8c2be;
  box-shadow: 0 0 8px rgba(0,0,0,.12);
}

/* === Header === */
#header {
  background: #fff;
  border-bottom: 1px solid #d3d9d6;
}

#header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 25px 15px;
}

#logo a {
  display: block;
}

.site-logo {
  height: 100px;
  width: auto;
}

.tagline {
  display: block;
  margin-top: 2px;
  color: #6b7b8a;
  font: italic 11px/1.4 Georgia, "Times New Roman", Times, serif;
}

#header-contact {
  text-align: right;
}

.phone-number {
  display: block;
  text-decoration: none;
  color: #1b3c5e;
  font: bold 18px/1.2 Georgia, "Times New Roman", Times, serif;
  margin-bottom: 3px;
}

.header-links {
  font-size: 11px;
  color: #6b7b8a;
}

.header-links a {
  color: #1e6fa7;
  text-decoration: none;
}

.header-links a:hover { color: #b5291c; text-decoration: underline; }

/* === Navigation === */
#nav-wrap {
  background: #1b3c5e;
  background: linear-gradient(to bottom, #234e75 0%, #142e4a 100%);
  border-bottom: 3px solid #c49a2a;
  padding: 0 25px;
}

#nav {
  list-style: none;
  display: flex;
}

#nav li {
  border-right: 1px solid rgba(255,255,255,.15);
}

#nav li:first-child { border-left: 1px solid rgba(255,255,255,.15); }

#nav li a {
  display: block;
  padding: 9px 15px;
  color: #c5d8e8;
  font-size: 12px;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: background .2s;
}

#nav li a:hover {
  background: rgba(0,0,0,.2);
  color: #fff;
}

#nav li.current_page_item a {
  background: #c49a2a;
  background: linear-gradient(to bottom, #d4a93a 0%, #b58a1e 100%);
  color: #fff;
  text-shadow: 0 1px 1px rgba(0,0,0,.25);
}

/* === Sub-header bar === */
#sub-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 25px;
  background: #eef1ef;
  border-bottom: 1px solid #d3d9d6;
  font-size: 11px;
  color: #789;
  font-style: italic;
}

#sub-links a {
  color: #1e6fa7;
  font-size: 11px;
  font-style: normal;
}

/* === Content Wrap (sidebar + main) === */
#content-wrap {
  display: flex;
  align-items: flex-start;
}

/* === Sidebar === */
#sidebar {
  width: 260px;
  flex-shrink: 0;
  padding: 18px 20px 30px;
  background: #f4f6f5;
  border-right: 1px solid #dde2df;
}

.widget {
  margin-bottom: 20px;
}

.widget-title {
  margin: 0 0 8px;
  padding: 6px 10px;
  background: #1b3c5e;
  background: linear-gradient(to bottom, #234e75 0%, #1b3c5e 100%);
  color: #fff;
  font: bold 12px/1.3 Georgia, "Times New Roman", Times, serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 1px rgba(0,0,0,.3);
}

.widget ul, .widget .menu {
  list-style: none;
}

.widget ul li, .widget .menu .menu-item {
  padding: 5px 0 5px 12px;
  border-bottom: 1px dotted #cdd3d0;
  font-size: 12px;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAHCAYAAAAvZezQAAAAJklEQVQIW2NkgIL/DAwMjEAMYjMwMDIyMDAyMIIEkNgwNkgCABlSBQcPb/8FAAAAAElFTkSuQmCC') no-repeat 0 9px;
}

.widget ul li:last-child, .widget .menu .menu-item:last-child {
  border-bottom: 0;
}

.widget ul li a, .widget .menu .menu-item a {
  color: #1e6fa7;
  text-decoration: none;
  font-size: 12px;
}

.widget ul li a:hover, .widget .menu .menu-item a:hover {
  color: #b5291c;
  text-decoration: underline;
}

/* Search widget */
.widget_search .searchform {
  display: flex;
}

.widget_search .s {
  flex: 1;
  padding: 5px 7px;
  border: 1px solid #b8c2be;
  border-right: 0;
  font-size: 12px;
  background: #fff;
}

.widget_search .searchsubmit {
  padding: 5px 10px;
  border: 1px solid #1b3c5e;
  background: #1b3c5e;
  background: linear-gradient(to bottom, #234e75, #1b3c5e);
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  cursor: pointer;
}

.widget_search .searchsubmit:hover {
  background: #2a5a85;
}

/* Sidebar certs widget */
.sidebar-certs {
  padding: 10px;
  background: #fff;
  border: 1px solid #d3d9d6;
  border-top: 3px solid #1b3c5e;
}

.sidebar-cert-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: bold;
  color: #444;
}

.sidebar-cert-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: #1b3c5e;
  color: #fff;
  font: bold 8px/1.1 Arial, Helvetica, sans-serif;
  text-align: center;
  flex-shrink: 0;
  letter-spacing: 0.3px;
}

.sidebar-certs p {
  margin: 6px 0 0;
  font-size: 11px;
  font-weight: normal;
}

/* Need Assistance widget */
.widget_text .textwidget {
  padding: 10px;
  background: #fff;
  border: 1px solid #d3d9d6;
  border-top: 3px solid #c49a2a;
  font-size: 12px;
  line-height: 1.6;
  color: #555;
}

.sidebar-phone {
  font: bold 16px Georgia, "Times New Roman", Times, serif;
  color: #8b1a2b;
}

/* === Main Content === */
#content {
  flex: 1;
  min-width: 0;
  padding: 0 25px 35px;
}

.breadcrumbs {
  margin: 0 -25px 15px;
  padding: 7px 25px;
  background: #f9faf9;
  border-bottom: 1px solid #e8ebe9;
  font-size: 11px;
  color: #999;
}

.breadcrumbs a { color: #789; text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; }

#content h2, #content .entry-title {
  font: bold 22px/1.25 Georgia, "Times New Roman", Times, serif;
  color: #1b3c5e;
  margin: 20px 0 8px;
}

#content h3 {
  font: bold 16px/1.3 Georgia, "Times New Roman", Times, serif;
  color: #2a4d6e;
  margin: 16px 0 6px;
}

.lead {
  font-size: 14px;
  color: #555;
}

/* === Page header (homepage) === */
.page-header {
  margin: 0 -25px 18px;
  padding: 16px 25px 12px;
  background: #f0f2f1;
  border-bottom: 1px solid #dde2df;
  border-top: 1px solid #e8ebe9;
}

.page-header h2 {
  font: bold 22px/1.2 Georgia, "Times New Roman", Times, serif;
  color: #1b3c5e;
  margin: 0 0 2px;
}

.page-header span {
  font-size: 11px;
  color: #888;
  font-style: italic;
}

/* === Posts === */
.post {
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5e9e7;
}

#post-0 {
  display: flex;
  gap: 18px;
}

#post-0 .post-thumbnail { flex-shrink: 0; }
#post-0 .post-body { flex: 1; }

.entry-title {
  margin: 0 0 4px !important;
}

.entry-title a {
  color: #1b3c5e;
  text-decoration: none;
}

.entry-title a:hover {
  color: #b5291c;
  text-decoration: underline;
}

.entry-meta {
  margin-bottom: 8px;
  font-size: 11px;
  color: #999;
}

.entry-meta a { color: #789; text-decoration: none; }
.entry-meta a:hover { text-decoration: underline; }
.comments-link { color: #aaa; }

.entry-content p { margin-bottom: 8px; }

.entry-content.with-thumb {
  display: flex;
  gap: 14px;
}

.more-link {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: bold;
  color: #1e6fa7;
  text-decoration: none;
}

.more-link:hover { color: #b5291c; text-decoration: underline; }

/* Post navigation */
#post-nav {
  display: flex;
  justify-content: space-between;
  padding: 12px 0;
  margin-top: 14px;
  border-top: 1px solid #e5e9e7;
  font-size: 11px;
  color: #999;
}

#post-nav a { color: #1e6fa7; text-decoration: none; }
#post-nav a:hover { text-decoration: underline; }
.nav-prev { text-align: left; }
.nav-next { text-align: right; margin-left: auto; }

/* Single post */
.single-post .entry-content { line-height: 1.75; }
.single-post .entry-content p { margin-bottom: 10px; }
.single-post .entry-content ul, .single-post .entry-content ol { margin: 8px 0 8px 20px; }
.single-post .entry-content li { padding: 2px 0; }

/* === Blog Archive === */
.archive-year {
  margin: 18px 0 6px;
  padding-bottom: 4px;
  border-bottom: 2px solid #c49a2a;
  font: bold 18px/1.3 Georgia, "Times New Roman", Times, serif;
  color: #1b3c5e;
}

.archive-list {
  margin-bottom: 8px;
}

.archive-item {
  padding: 5px 0;
  border-bottom: 1px dotted #d3d9d6;
  font-size: 12px;
}

.archive-date {
  display: inline-block;
  width: 130px;
  color: #888;
  font-size: 11px;
}

.archive-item a {
  color: #1e6fa7;
  text-decoration: none;
  font-weight: bold;
}

.archive-item a:hover { color: #b5291c; text-decoration: underline; }

.archive-cat {
  color: #aaa;
  font-size: 10px;
  font-style: italic;
  margin-left: 6px;
}

/* === Photo Placeholders === */
.photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8ebe9;
  border: 1px solid #c5ccc9;
  color: #98a5a0;
  text-align: center;
}

.photo-placeholder span {
  padding: 6px;
  font-size: 10px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.featured-image {
  width: 240px;
  height: 170px;
  object-fit: cover;
}

.post-thumb {
  width: 140px;
  height: 95px;
  flex-shrink: 0;
}

/* Content with image (About, Quality) */
.content-with-image {
  display: flex;
  gap: 20px;
}

.portrait-photo {
  width: 200px;
  height: 240px;
  flex-shrink: 0;
  object-fit: cover;
}

/* === Notices === */
.notice {
  padding: 10px 12px;
  background: #eaf3fb;
  border: 1px solid #b3cde0;
  border-left: 3px solid #1e6fa7;
  font-size: 12px;
  color: #2a5580;
  margin-bottom: 14px;
}

.success {
  padding: 10px 12px;
  background: #ecf8ec;
  border: 1px solid #a5d4a5;
  border-left: 3px solid #3a8f3a;
  font-size: 12px;
  color: #2e5e2e;
  margin-bottom: 14px;
}

/* === Tables === */
.principles, .downloads {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0;
  font-size: 12px;
}

.principles th, .principles td,
.downloads th, .downloads td {
  padding: 8px 10px;
  border: 1px solid #d3d9d6;
  text-align: left;
  vertical-align: top;
}

.principles th, .downloads th {
  background: #f0f2f1;
  font-weight: bold;
  color: #1b3c5e;
  font-family: Georgia, "Times New Roman", Times, serif;
}

/* Numbered/bulleted lists inside section boxes need room for their markers */
.resource-section ol, .service-section ul { padding-left: 22px; }

/* === Service / Resource / Equipment sections === */
.service-section, .resource-section, .equipment-group {
  margin: 14px 0;
  border: 1px solid #d3d9d6;
  background: #fff;
}

.service-section h3, .resource-section h3, .equipment-group h3 {
  margin: 0;
  padding: 8px 14px;
  background: #f0f2f1;
  background: linear-gradient(to bottom, #f7f8f7, #eaedec);
  border-bottom: 1px solid #d3d9d6;
  font: bold 15px/1.3 Georgia, "Times New Roman", Times, serif;
  color: #1b3c5e;
}

.service-section p, .service-section ul, .service-section a,
.resource-section p, .resource-section ol, .resource-section table,
.equipment-group ul {
  margin-left: 14px;
  margin-right: 14px;
}

.service-row {
  display: flex;
  gap: 16px;
  padding: 0 14px;
}

.service-row > div:first-child { flex: 1; }

.service-image {
  width: 180px;
  height: 130px;
  flex-shrink: 0;
  margin: 14px 0;
  object-fit: cover;
}

/* Equipment list */
.equipment-group ul.equipment-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 18px;
  margin: 0;
  padding: 6px 14px 10px;
  list-style: none;
}

.equipment-items li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px dotted #d3d9d6;
  font-size: 12px;
  background: none;
}

.equip-thumb { flex-shrink: 0; }

.equip-thumb img {
  display: block;
  width: 72px;
  height: 54px;
  object-fit: cover;
  padding: 2px;
  border: 1px solid #d3d9d6;
  background: #fff;
}

.equip-thumb:hover img { border-color: #1e6fa7; }

.equip-name {
  display: block;
  font-weight: bold;
  line-height: 1.35;
}

.equip-short {
  display: block;
  margin-top: 2px;
  color: #6b7b8a;
  font-size: 11px;
  line-height: 1.4;
}

/* Equipment detail */
.wp-caption {
  padding: 4px 4px 2px;
  border: 1px solid #d3d9d6;
  background: #f7f8f7;
  text-align: center;
}

.wp-caption img {
  display: block;
  width: auto;
  max-width: 300px;
  max-height: 320px;
  margin: 0 auto;
}

.wp-caption-text {
  margin: 4px 0 2px;
  color: #6b7b8a;
  font: italic 11px/1.4 Georgia, "Times New Roman", Times, serif;
}

.alignright {
  float: right;
  margin: 4px 0 12px 18px;
}

.equipment-detail p { margin: 0 0 10px; }
.equipment-detail .lead { margin-bottom: 12px; }

.equip-list {
  padding-left: 18px;
  list-style: disc;
}

.equip-list li {
  padding: 2px 0;
  font-size: 12px;
}

.equip-list .post-date {
  color: #8a97a3;
  font-size: 11px;
}

.specs-table { clear: both; }
.specs-table th { width: 32%; }

.specs-note {
  margin-top: -4px;
  color: #8a97a3;
  font-size: 11px;
  font-style: italic;
}

.sibling-list {
  column-count: 2;
  column-gap: 18px;
}

/* Two-column list (quality) */
.two-col-list {
  display: flex;
  gap: 16px;
}

.two-col-list ul {
  flex: 1;
  padding-left: 16px;
  list-style: disc;
}

.two-col-list li {
  padding: 2px 0;
  font-size: 12px;
}

/* === Certification Badges === */
.cert-badges {
  margin: 12px 0 18px;
}

.cert-badge {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 12px 14px;
  margin-bottom: 10px;
  border: 1px solid #d3d9d6;
  background: #fafbfa;
}

.cert-icon {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1b3c5e;
  background: linear-gradient(to bottom, #234e75, #142e4a);
  color: #fff;
  font: bold 11px/1.2 Arial, Helvetica, sans-serif;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0,0,0,.3);
  letter-spacing: 0.5px;
}

.cert-badge strong {
  display: block;
  font: bold 13px Georgia, "Times New Roman", Times, serif;
  color: #1b3c5e;
  margin-bottom: 2px;
}

.cert-badge p {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #555;
}

/* === Team Page === */
.team-grid {
  margin-top: 14px;
}

.team-member {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #e5e9e7;
}

.team-member:last-child { border-bottom: 0; }

.member-photo {
  width: 110px;
  height: 130px;
  flex-shrink: 0;
}

.team-info { flex: 1; }

.team-info h3 {
  margin: 0 0 2px;
  font: bold 16px/1.3 Georgia, "Times New Roman", Times, serif;
  color: #1b3c5e;
}

.team-role {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  font-style: italic;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.team-info p {
  font-size: 12px;
  line-height: 1.65;
  margin-bottom: 4px;
}

.team-credentials {
  font-size: 11px;
  font-weight: bold;
  color: #1b3c5e;
}

/* === Buttons === */
.button {
  display: inline-block;
  padding: 8px 16px;
  background: #1b3c5e;
  background: linear-gradient(to bottom, #234e75 0%, #1b3c5e 100%);
  color: #fff;
  font: bold 11px Arial, Helvetica, sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid #142e4a;
  cursor: pointer;
  text-shadow: 0 1px 1px rgba(0,0,0,.2);
}

.button:hover {
  background: #2a5a85;
  background: linear-gradient(to bottom, #2a5a85, #1b3c5e);
  color: #fff;
  text-decoration: none;
}

/* === Contact layout === */
.contact-layout {
  display: flex;
  gap: 20px;
  margin: 14px 0;
}

.contact-layout section {
  flex: 1;
  padding: 14px;
  border: 1px solid #d3d9d6;
  background: #fafbfa;
}

.map-placeholder {
  width: 280px;
  height: 200px;
  flex-shrink: 0;
}

.map-embed {
  flex: 1;
  min-width: 280px;
  border: 1px solid #d3d9d6;
}

.map-embed iframe {
  display: block;
}

/* === Quote form === */
.quote-form fieldset {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid #d3d9d6;
  background: #fafbfa;
}

.quote-form legend {
  padding: 0 6px;
  font: bold 13px Georgia, "Times New Roman", Times, serif;
  color: #1b3c5e;
}

.quote-form label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  color: #555;
}

.quote-form input, .quote-form select, .quote-form textarea {
  display: block;
  width: 100%;
  margin-top: 2px;
  padding: 5px 7px;
  border: 1px solid #b8c2be;
  font-size: 12px;
  font-family: Arial, Helvetica, sans-serif;
  background: #fff;
}

.quote-form input:focus, .quote-form select:focus, .quote-form textarea:focus {
  border-color: #1e6fa7;
  outline: none;
}

/* === Sitemap === */
.sitemap {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.sitemap section {
  flex: 1;
  min-width: 180px;
  padding: 12px;
  border: 1px solid #d3d9d6;
  border-top: 3px solid #c49a2a;
  background: #fafbfa;
}

/* === Footer === */
#footer {
  background: #1b2f44;
  background: linear-gradient(to bottom, #243d55, #141f2c);
  border-top: 3px solid #c49a2a;
  padding: 0;
}

#footer-widgets {
  display: flex;
  gap: 30px;
  padding: 20px 25px 16px;
  border-bottom: 1px solid #2a4560;
}

.footer-col {
  flex: 1;
}

.footer-col h4 {
  margin: 0 0 8px;
  font: bold 13px/1.3 Georgia, "Times New Roman", Times, serif;
  color: #c49a2a;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.footer-col p {
  font-size: 11px;
  line-height: 1.7;
  color: #8ea5b8;
}

.footer-address {
  margin-top: 6px;
  font-size: 11px;
  line-height: 1.6;
  color: #7a9ab3;
}

.footer-col ul {
  list-style: none;
}

.footer-col ul li {
  padding: 2px 0;
}

.footer-col ul li a {
  color: #7a9ab3;
  font-size: 11px;
  text-decoration: none;
}

.footer-col ul li a:hover { color: #c49a2a; text-decoration: underline; }

#footer-bottom {
  padding: 10px 25px;
  text-align: center;
  font-size: 10px;
  color: #5a7a90;
}

#footer-bottom a { color: #7a9ab3; text-decoration: none; }
#footer-bottom a:hover { color: #c49a2a; }

.credit {
  margin-top: 3px;
  font-size: 10px;
  color: #4a6578;
}

/* === Responsive === */
@media (max-width: 1000px) {
  #wrapper { width: auto; margin: 0; }
  .equipment-group ul { column-count: 1; }
}

/* Menu button: only on small screens */
.nav-toggle { display: none; }
.sidebar-phone a, .footer-address a { color: inherit; text-decoration: none; }

@media (max-width: 768px) {
  #content-wrap { flex-direction: column; }

  /* Page content first; sidebar (help, resources, news) after it. Search and the
     services list duplicate the main menu, so they're hidden on phones. */
  #content { order: 1; }
  #sidebar { order: 2; border-bottom: 0; border-top: 1px solid #dde2df; }
  .widget-desktop-only { display: none; }

  /* Compact header: logo left, tap-to-call number right */
  #header-inner { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 12px 16px; }
  .site-logo { height: 58px; }
  .tagline { display: none; }
  #header-contact { text-align: right; margin-top: 0; }
  .phone-number { font-size: 16px; }
  .header-links { display: none; }

  /* Collapsible menu */
  #nav-wrap { padding: 0; }
  .nav-toggle {
    display: flex; align-items: center; gap: 10px; width: 100%; min-height: 46px; padding: 0 16px;
    background: none; border: 0; color: #fff; cursor: pointer;
    font: bold 13px Arial, Helvetica, sans-serif; letter-spacing: 1px; text-transform: uppercase;
  }
  .nav-toggle-bars, .nav-toggle-bars::before, .nav-toggle-bars::after {
    display: block; width: 18px; height: 2px; background: #fff; position: relative; content: "";
  }
  .nav-toggle-bars::before { position: absolute; top: -6px; }
  .nav-toggle-bars::after { position: absolute; top: 6px; }
  .js #nav { display: none; }
  .js #nav-wrap.nav-open #nav { display: block; }
  #nav { flex-direction: column; border-top: 1px solid rgba(255,255,255,.15); }
  #nav li, #nav li:first-child { border: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  #nav li a { padding: 13px 16px; font-size: 13px; }

  #sub-header { padding: 8px 16px; font-size: 11px; text-align: center; }

  /* Wide tables scroll inside themselves instead of widening the page */
  #content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Download / detail tables become stacked cards: one block per row, no sideways scrolling */
  #content table.downloads, #content table.principles { display: block; overflow: visible; width: auto; }
  .downloads tr:has(> th + th) { display: none; }          /* column-header row */
  .downloads tr, .downloads th, .downloads td,
  .principles tr, .principles th, .principles td { display: block; width: auto !important; }
  .downloads tr, .principles tr { border: 1px solid #d3d9d6; margin-bottom: 8px; }
  .downloads th, .downloads td, .principles th, .principles td { border: 0; padding: 6px 10px; }
  .downloads td + td, .principles td + td, .principles th + td, .downloads th + td { padding-top: 0; }
  .downloads td:first-child { font-weight: bold; color: #1b3c5e; }
  .downloads tbody, .principles tbody { display: block; }
  /* Verify page details: short label/value pairs stay side by side */
  .verify-details .downloads tr { display: grid; grid-template-columns: 40% 1fr; margin: 0; border: 0; border-bottom: 1px solid #d3d9d6; }
  .verify-details .downloads tr:first-child { border-top: 1px solid #d3d9d6; }
  .verify-details .downloads th, .verify-details .downloads td { padding: 7px 8px !important; }
  .verify-details figure { flex-basis: 100%; max-width: 260px; }

  /* 16px inputs stop iOS from zooming in on focus */
  input, select, textarea { font-size: 16px !important; }

  #sidebar {
    width: auto;
    border-right: 0;
    padding: 15px 16px;
  }

  #content { padding: 0 16px 25px; }
  .breadcrumbs { margin: 0 -16px 12px; padding-left: 16px; }
  .page-header { margin: 0 -16px 14px; padding-left: 16px; }

  #post-0 { flex-direction: column; }
  .featured-image { width: 100%; height: 180px; }
  .entry-content.with-thumb { flex-direction: column; }
  .post-thumb { width: 100%; height: auto; min-height: 90px; }
  .content-with-image { flex-direction: column; }
  .portrait-photo { width: 100%; height: 180px; }
  .contact-layout { flex-direction: column; }
  .map-placeholder { width: 100%; }
  .two-col-list { flex-direction: column; gap: 0; }
  .service-row { flex-direction: column; }
  .service-image { width: 100%; }
  .equipment-group ul.equipment-items { grid-template-columns: 1fr; }
  .alignright { float: none; margin: 4px 0 12px; }
  .wp-caption img { max-width: 100%; }
  .sibling-list { column-count: 1; }

  #sub-header { flex-direction: column; gap: 2px; }
  #footer-widgets { flex-direction: column; gap: 14px; }
}

/* === Report verification === */
.verify-form { margin: 0 0 18px; padding: 14px; border: 1px solid #d3d9d6; background: #fafbfa; }
.verify-form label { display: block; font: bold 13px Georgia, "Times New Roman", Times, serif; color: #1b3c5e; margin-bottom: 6px; }
.verify-row { display: flex; gap: 8px; flex-wrap: wrap; }
.verify-row input { flex: 1 1 220px; padding: 7px 9px; border: 1px solid #b8c2be; font: bold 15px "Courier New", monospace;
  letter-spacing: 1px; text-transform: uppercase; }
.verify-result { display: flex; gap: 14px; align-items: flex-start; padding: 14px 16px; margin: 0 0 18px; border: 1px solid; border-left-width: 4px; }
.verify-result h3 { margin: 0 0 4px; }
.verify-result p { margin: 0; }
.verify-seal { flex: none; width: 42px; height: 42px; border-radius: 50%; color: #fff; font: bold 24px/42px Georgia, serif; text-align: center; }
.verify-valid { background: #ecf8ec; border-color: #3a8f3a; }
.verify-valid .verify-seal { background: #3a8f3a; }
.verify-valid h3 { color: #2e5e2e; }
.verify-revoked { background: #fbeeee; border-color: #a3272a; }
.verify-revoked .verify-seal { background: #a3272a; }
.verify-revoked h3 { color: #a3272a; }
.verify-missing { background: #fdf8ea; border-color: #c49a2a; }
.verify-missing .verify-seal { background: #c49a2a; }
.verify-details { display: flex; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.verify-details table { flex: 1 1 300px; }
.verify-details th { width: 38%; text-align: left; }
.verify-details figure { flex: 0 1 220px; margin: 0; }
.verify-details img { width: 100%; border: 1px solid #ccc; display: block; }
.verify-details figcaption { font: italic 11px Georgia, serif; color: #666; margin-top: 3px; }
.verify-tests tr.not-tested td { color: #888; }
.verify-scope { font-size: 12px; color: #555; font-style: italic; }
