/* 0.3.1 | Native theme compatibility with legacy plugin output.
   Overrides only components embedded in migrated theme content. The theme
   does not own, rewrite, or dequeue third-party plugin scripts and assets. */

/* Toolset 'Compressor Grid' View: legacy gray on white label had no contrast. */
.sp-native-page .compressor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: clamp(25px,3.25vw,42px) clamp(16px,2vw,28px);
  padding-block: clamp(14px,2.5vw,28px) clamp(30px,4vw,54px);
  align-items: stretch;
}
.sp-native-page .compressor-grid .compressor-card { min-width: 0; max-width: 100%; }
.sp-native-page .compressor-grid .compressor-card > a {
  height: 100%; display: flex; flex-direction: column; min-width: 0;
  color: #292f30; background: #ffffff; border: 1px solid #e5e8e8;
  text-decoration: none; transition: transform .2s ease, box-shadow .2s ease;
}
.sp-native-page .compressor-grid .compressor-image {
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 1.37; width: 100%; padding: clamp(8px,1.3vw,18px);
  background: #fff;
}
.sp-native-page .compressor-grid .compressor-image img {
  display: block; max-width: 100%; max-height: 210px;
  width: 100%; height: 100%; object-fit: contain;
}
.sp-native-page .compressor-grid .compressor-label {
  display: flex; align-items: center; justify-content: center;
  margin: auto 0 0; width: 100%; min-height: 58px;
  padding: 12px 10px; background: #343839; color: #ffffff;
  font-family: var(--sp-body-font); font-size: 12px; font-weight: 700;
  letter-spacing: .025em; line-height: 1.38; text-align: center;
  text-transform: uppercase; overflow-wrap: anywhere;
  transition: background .2s ease;
}
.sp-native-page .compressor-grid .compressor-card > a:is(:hover,:focus-visible) {
  box-shadow: 0 9px 22px rgb(24 36 36 / 12%); transform: translateY(-2px);
  text-decoration: none;
}
.sp-native-page .compressor-grid .compressor-card > a:is(:hover,:focus-visible) .compressor-label {
  background: #007b67; color: #fff;
}
.sp-native-page .compressor-grid .compressor-card > a:focus-visible {
  outline: 3px solid var(--sp-orange); outline-offset: 3px;
}

/* Contact Form 7 rendered in a safe, independent component (not inside a heading). */
.sp-native-page .sp-embedded-form { width: 100%; max-width: 100%; margin-block: 27px 24px; }
.sp-native-page .sp-embedded-form .wpcf7 { max-width: 100%; }
.sp-native-page .sp-embedded-form .wpcf7 form { display: grid; gap: 16px; }
.sp-native-page .sp-embedded-form .wpcf7 form > p { margin: 0; }
.sp-native-page .sp-embedded-form .wpcf7 form label {
  display: block; color: #303638; font-weight: 600; line-height: 1.5;
}
.sp-native-page .sp-embedded-form .wpcf7-form-control-wrap { display: block; width: 100%; margin-top: 7px; }
.sp-native-page .sp-embedded-form .wpcf7 :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="url"],input[type="date"],select,textarea) {
  box-sizing: border-box; display: block; width: 100%; min-width: 0;
  min-height: 46px; padding: 11px 13px; border: 1px solid #c9d2d0;
  border-radius: 3px; background: #fff; color: #262b2b;
  font: inherit; font-size: 15px; line-height: 1.4;
  box-shadow: none; opacity: 1;
}
.sp-native-page .sp-embedded-form .wpcf7 textarea { min-height: 142px; resize: vertical; }
.sp-native-page .sp-embedded-form .wpcf7 :is(input,select,textarea):focus-visible {
  outline: 2px solid #007b67; outline-offset: 2px; border-color: #007b67;
}
.sp-native-page .sp-embedded-form .wpcf7 :is(.wpcf7-radio,.wpcf7-checkbox) {
  display: flex; flex-wrap: wrap; align-items: center; gap: 9px 14px;
  margin-top: 8px;
}
.sp-native-page .sp-embedded-form .wpcf7 .wpcf7-list-item { margin: 0; }
.sp-native-page .sp-embedded-form .wpcf7 .wpcf7-list-item label {
  display: inline-flex; align-items: center; gap: 7px;
  cursor: pointer; font-weight: 400;
}
.sp-native-page .sp-embedded-form .wpcf7 :is(input[type="radio"],input[type="checkbox"]) {
  width: auto; height: auto; accent-color: #007b67;
}
.sp-native-page .sp-embedded-form .wpcf7 :is(input[type="submit"],button[type="submit"]) {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; min-height: 45px; padding: 11px 24px;
  border: 0; border-radius: 3px; background: #007b67; color: #fff;
  font: inherit; font-weight: 700; cursor: pointer;
}
.sp-native-page .sp-embedded-form .wpcf7 :is(input[type="submit"],button[type="submit"]):hover { background: #005947; }
.sp-native-page .sp-embedded-form .wpcf7 .wpcf7-not-valid-tip { color: #a92323; margin-top: 5px; font-size: 13px; }
.sp-native-page .sp-embedded-form .wpcf7 form .wpcf7-response-output { margin: 6px 0 0; padding: 12px; }
.sp-native-page .sp-integration-warning { color: #8f350c; padding: 12px 16px; border-inline-start: 3px solid #8f350c; background: #fff7f2; }

@media (max-width: 980px) { .sp-native-page .compressor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 520px) {
  .sp-native-page .compressor-grid { grid-template-columns: 1fr; gap: 22px; }
  .sp-native-page .compressor-grid .compressor-image { aspect-ratio: 1.8; }
  .sp-native-page .sp-embedded-form .wpcf7 form { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .sp-native-page .compressor-grid .compressor-card > a,
  .sp-native-page .compressor-grid .compressor-label { transition: none; transform: none; }
}

/* v1.7.0-beta.15: OEM air ends and air-treatment category tiles used source
   <div> images with bare text links, unlike the industrial/portable catalogs.
   Style only the existing link elements (not whole nested containers), so the
   original URLs, image alts, source order and keyboard navigation are retained. */
body.sp-native-theme :is(#post-12589,#post-13848) .compressor-card .compressor-image {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  aspect-ratio:1.42;
  padding:8px 8px 12px;
  background:#fff;
}
body.sp-native-theme :is(#post-12589,#post-13848) .compressor-card .compressor-image img {
  display:block;
  max-width:100%;
  max-height:210px;
  width:100%;
  height:100%;
  object-fit:contain;
}
body.sp-native-theme :is(#post-12589,#post-13848) .compressor-card .compressor-label {
  display:flex;
  width:100%;
  margin:0;
  min-width:0;
}
body.sp-native-theme :is(#post-12589,#post-13848) .compressor-card .compressor-label > a,
body.sp-native-theme :is(#post-12589,#post-13848) .compressor-card .compressor-label > a:visited {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:45px;
  padding:10px 9px;
  border:1px solid #e4e7e8;
  border-radius:0;
  background:#edf0f1;
  color:#292f31;
  font-family:var(--sp-body-font);
  font-size:clamp(12px,1.05vw,14px);
  line-height:1.4;
  font-weight:700;
  text-align:center;
  text-transform:uppercase;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:background .2s ease,color .2s ease;
}
body.sp-native-theme :is(#post-12589,#post-13848) .compressor-card .compressor-label > a:is(:hover,:focus-visible) {
  background:#006f60;
  border-color:#006f60;
  color:#fff;
  text-decoration:none;
}
body.sp-native-theme :is(#post-12589,#post-13848) .compressor-card .compressor-label > a:focus-visible {
  outline:3px solid #a33c0b;
  outline-offset:3px;
}
@media (prefers-reduced-motion:reduce) {
  body.sp-native-theme :is(#post-12589,#post-13848) .compressor-card .compressor-label > a {
    transition:none;
  }
}
