/*
 * On Point IT – Homepage Layout System
 * Clean rewrite – March 2026
 */

/* =============================================
   TYPOGRAPHY SYSTEM
   ============================================= */

.page-id-8 h1 {
  font-size: 2.4em;
  line-height: 1.2;
  font-weight: 700;
  margin: 0 0 16px;
}
.page-id-8 h2 {
  font-size: 1.9em;
  line-height: 1.25;
  font-weight: 700;
  margin: 0 0 12px;
}
.page-id-8 h4 {
  font-size: 1.0em;
  line-height: 1.45;
  font-weight: 600;
  margin: 10px 0 6px;
}
/* Kill all inline font-size overrides inside headings */
.page-id-8 h1 span,
.page-id-8 h2 span,
.page-id-8 h3 span,
.page-id-8 h4 span {
  font-size: inherit !important;
}

.page-id-8 p {
  font-size: 0.975em;
  line-height: 1.8;
  margin: 0 0 14px;
}
.page-id-8 li {
  font-size: 0.975em;
  line-height: 1.75;
  margin-bottom: 6px;
}
.page-id-8 strong {
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
  font-size: 0.975em;
}


/* =============================================
   SECTION SPACING — consistent 80px everywhere
   ============================================= */

.page-id-8 .section {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
.page-id-8 .row {
  max-width: 1160px;
}
/* Section intro paragraphs — centred, constrained width */
.page-id-8 .section-intro {
  font-size: 1.05em;
  color: #555;
  max-width: 600px;
  margin: 8px auto 0;
  line-height: 1.7;
}


/* =============================================
   HERO
   ============================================= */

.page-id-8 .hero-section.section {
  padding: 0 !important;
}
.page-id-8 .hero-section h1 {
  font-size: 2.4em;
  margin-bottom: 14px;
}
.page-id-8 .highlight-blue {
  background: #00aeef;
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  display: inline;
}
.page-id-8 .hero-sub {
  font-size: 1.05em !important;
  line-height: 1.65 !important;
  color: #444 !important;
  margin-bottom: 6px !important;
}
.page-id-8 .hero-micro {
  display: block;
  font-size: 0.85em;
  color: #777;
  font-style: italic;
  margin-bottom: 24px;
}


/* =============================================
   TRUST BAR
   ============================================= */

.page-id-8 .trust-bar.section {
  padding: 0 !important;
}
.page-id-8 .trust-items {
  color: rgba(255,255,255,0.9) !important;
  font-size: 0.82em !important;
  line-height: 1 !important;
  margin: 0 !important;
  letter-spacing: 0.01em;
}


/* =============================================
   BUTTONS
   ============================================= */

/* Primary solid — hero + process + niche */
.page-id-8 .hero-section .button,
.page-id-8 .process-section .button,
.page-id-8 [label="niche"] .button,
.page-id-8 [label="process"] .button {
  background-color: #00aeef !important;
  border-color: #00aeef !important;
  color: #fff !important;
  font-weight: 600 !important;
}
.page-id-8 .hero-section .button:hover,
.page-id-8 [label="niche"] .button:hover,
.page-id-8 [label="process"] .button:hover {
  background-color: #0098d1 !important;
  border-color: #0098d1 !important;
}

/* CTA section form buttons */
.page-id-8 [label="cta"] input[type="submit"],
.page-id-8 [label="cta"] .gform_submit {
  background-color: #00aeef !important;
  border-color: #00aeef !important;
  color: #fff !important;
}


/* =============================================
   SERVICE CARDS
   ============================================= */

.page-id-8 [label="services"] .col {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.page-id-8 [label="services"] .col:hover {
  transform: translateY(-2px);
}
/* Coloured accent bar at top of each card */
.page-id-8 .svc-bar {
  width: 36px;
  height: 4px;
  background: #00aeef;
  border-radius: 2px;
  margin-bottom: 14px;
}
.page-id-8 .svc-bar-white {
  background: rgba(255,255,255,0.7);
}
/* Card h4 links */
.page-id-8 [label="services"] h4 a {
  color: inherit !important;
  text-decoration: none !important;
}
.page-id-8 [label="services"] h4 a:hover {
  text-decoration: underline !important;
}
/* Equal row gaps between service card rows */
.page-id-8 [label="services"] p {
  font-size: 0.9em;
  line-height: 1.65;
  margin: 0;
}


/* =============================================
   PROCESS SECTION
   ============================================= */

.page-id-8 .process-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #00aeef;
  color: #fff;
  font-size: 1.3em;
  font-weight: 700;
  margin: 0 auto 18px;
}
.page-id-8 [label="process"] h4 {
  font-size: 1.0em;
  margin-bottom: 10px;
}
.page-id-8 [label="process"] p {
  font-size: 0.92em;
  line-height: 1.7;
  max-width: 260px;
  margin: 0 auto;
  color: #555;
}


/* =============================================
   ADVANTAGES CARDS
   ============================================= */

.page-id-8 .diff-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #00aeef;
  color: #fff;
  font-size: 0.9em;
  font-weight: 700;
  margin-bottom: 12px;
}
.page-id-8 [label="advantages"] p {
  font-size: 0.9em;
  line-height: 1.65;
  color: #555;
  margin: 0;
}
.page-id-8 [label="advantages"] .col {
  transition: box-shadow 0.15s ease;
}
.page-id-8 [label="advantages"] .col:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.09) !important;
}


/* =============================================
   NICHE SECTION
   ============================================= */

.page-id-8 [label="niche"] ul {
  padding-left: 18px;
  margin: 14px 0 24px;
}
.page-id-8 [label="niche"] li {
  margin-bottom: 7px;
}


/* =============================================
   CLIENT LOGOS
   ============================================= */

.page-id-8 [label="clients"] .col {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 80px !important;
  height: 80px !important;
}
.page-id-8 [label="clients"] img {
  max-height: 48px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: grayscale(25%);
  opacity: 0.8;
  transition: all 0.2s;
}
.page-id-8 [label="clients"] .col:hover img {
  filter: grayscale(0%);
  opacity: 1;
}


/* =============================================
   TESTIMONIALS
   ============================================= */

.page-id-8 .testimonial-stars {
  color: #f5a623;
  font-size: 1.1em;
  letter-spacing: 2px;
  margin-bottom: 14px;
}
.page-id-8 .testimonial-quote {
  font-size: 1.0em !important;
  line-height: 1.7 !important;
  color: #333 !important;
  font-style: italic;
  margin-bottom: 16px !important;
}
.page-id-8 .testimonial-name {
  font-size: 0.85em !important;
  font-weight: 600 !important;
  color: #00aeef !important;
  margin: 0 !important;
}


/* =============================================
   CTA SECTION
   ============================================= */

.page-id-8 [label="cta"] {
  background-color: #003a78 !important;
}
.page-id-8 .cta-heading {
  color: #fff !important;
  font-size: 1.9em;
  line-height: 1.25;
  margin-bottom: 14px;
}
.page-id-8 .cta-sub {
  color: rgba(255,255,255,0.82) !important;
  font-size: 1.0em !important;
  line-height: 1.7 !important;
}
/* Gravity Forms in dark section */
.page-id-8 [label="cta"] .gform_wrapper label,
.page-id-8 [label="cta"] .gform_wrapper .gf_progressbar_title {
  color: rgba(255,255,255,0.9) !important;
}
.page-id-8 [label="cta"] .gform_wrapper input,
.page-id-8 [label="cta"] .gform_wrapper textarea,
.page-id-8 [label="cta"] .gform_wrapper select {
  background: rgba(255,255,255,0.1) !important;
  border-color: rgba(255,255,255,0.3) !important;
  color: #fff !important;
}
.page-id-8 [label="cta"] .gform_wrapper input::placeholder {
  color: rgba(255,255,255,0.5) !important;
}


/* =============================================
   MOBILE
   ============================================= */

@media only screen and (max-width: 48em) {
  .page-id-8 .section {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }
  .page-id-8 h1 { font-size: 1.75em; }
  .page-id-8 h2 { font-size: 1.5em; }
  .page-id-8 p, .page-id-8 li { font-size: 0.95em; }
  .page-id-8 .trust-items { font-size: 0.72em !important; }
  .page-id-8 .button.is-large,
  .page-id-8 [label="niche"] .button,
  .page-id-8 [label="process"] .button {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .page-id-8 [label="process"] p {
    max-width: 100%;
  }
  .page-id-8 [label="clients"] .col {
    height: 64px !important;
    min-height: 64px !important;
  }
}


/* =============================================
   FIXES: Trust bar + Logo heights
   ============================================= */

/* Trust bar — prevent wrapping, reduce font if needed */
.page-id-8 .trust-bar .row {
  padding: 16px 0 !important;
}
.page-id-8 .trust-items {
  white-space: nowrap;
  font-size: 0.78em !important;
}
@media only screen and (max-width: 1100px) {
  .page-id-8 .trust-items {
    white-space: normal;
    font-size: 0.72em !important;
    line-height: 1.8 !important;
  }
}

/* Logo grid — force equal height cells, constrain all logos same max-height */
.page-id-8 [label="clients"] .col {
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.page-id-8 [label="clients"] img {
  max-height: 44px !important;
  max-width: 90% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: grayscale(20%);
  opacity: 0.85;
  transition: all 0.2s;
}
.page-id-8 [label="clients"] .col:hover img {
  filter: none;
  opacity: 1;
}

/* Hard cap on logo img — overrides everything */
.page-id-8 [label="clients"] .col img,
.page-id-8 .clients-section img {
  max-height: 40px !important;
  height: 40px !important;
  width: auto !important;
  object-fit: contain !important;
}

/* === NUCLEAR FIX: Logo heights — override Flatsome inline width styles === */
.page-id-8 [label="clients"] .col-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 80px !important;
  overflow: hidden !important;
}
.page-id-8 [label="clients"] .img,
.page-id-8 [label="clients"] .img-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
.page-id-8 [label="clients"] .img-inner img {
  max-height: 44px !important;
  height: 44px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

/* === LOGO GRID FIX — targeting .logo-grid class === */
.page-id-8 .logo-grid .col-inner {
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px !important;
}
.page-id-8 .logo-grid .col-inner * {
  max-height: 44px !important;
  height: auto !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
}
.page-id-8 .logo-grid img {
  max-height: 44px !important;
  height: 44px !important;
  width: auto !important;
  max-width: 100% !important;
  display: block !important;
  object-fit: contain !important;
  filter: grayscale(20%);
  opacity: 0.85;
  transition: all 0.2s;
}
.page-id-8 .logo-grid .col:hover img {
  filter: none;
  opacity: 1;
}
/* Kill the Flatsome .img wrapper width */
.page-id-8 .logo-grid .img {
  width: auto !important;
  max-width: 100% !important;
  height: 44px !important;
  max-height: 44px !important;
}
.page-id-8 .logo-grid .img-inner {
  height: 44px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
}
