
body.tm-spe-active .tm-page-head { display:none !important; }

body.tm-spe-active .tm-content {
  width:100%;
  max-width:1240px;
  padding-left:20px;
  padding-right:20px;
  box-sizing:border-box;
}

.tm-spe-wrap {
  --navy:#071b36;
  --blue:#1264c5;
  color:#172b45;
  margin:0 auto 32px;
  width:100%;
}
.tm-spe-wrap * { box-sizing:border-box; }

.tm-spe-hero {
  display:flex;
  align-items:center;
  min-height:410px;
  padding:clamp(28px,5vw,64px);
  border-radius:18px;
  overflow:hidden;
  color:#fff;
  background-color:var(--navy);
  background-image:
    linear-gradient(90deg,rgba(4,18,38,.96),rgba(4,28,57,.78),rgba(4,28,57,.25)),
    var(--spe-image,none);
  background-size:cover;
  background-position:center;
}
.tm-spe-hero-content { max-width:720px; }
.tm-spe-eyebrow {
  color:#6de3f1;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.tm-spe-hero h1 {
  color:#fff;
  font-size:clamp(32px,4.5vw,54px);
  line-height:1.12;
  margin:12px 0 18px;
}
.tm-spe-lead {
  color:#f0f5fb;
  font-size:18px;
  line-height:1.7;
  max-width:650px;
}
.tm-spe-buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.tm-spe-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  min-height:48px;
  border-radius:8px;
  background:#fff;
  color:#0b3970 !important;
  font-weight:750;
  text-decoration:none !important;
}
.tm-spe-outline {
  background:transparent;
  color:#fff !important;
  border:1px solid #fff;
}
.tm-spe-section { padding:48px 0 8px; }
.tm-spe-section > h2,
.tm-spe-problems h2 {
  text-align:center;
  color:var(--navy);
  font-size:clamp(25px,3vw,36px);
  margin:0 0 26px;
}
.tm-spe-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.tm-spe-card {
  border:1px solid #e1eaf4;
  border-radius:13px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(9,37,71,.06);
}
.tm-spe-number {
  display:inline-flex;
  margin:22px 22px 0;
  color:var(--blue);
  font-weight:900;
  font-size:22px;
}
.tm-spe-card h3 { color:#142b49; font-size:20px; margin:14px 22px; }
.tm-spe-service img { width:100%; height:190px; object-fit:cover; display:block; }
.tm-spe-card-inner { padding:20px 22px 24px; }
.tm-spe-card-inner h3 { margin:0 0 10px; }
.tm-spe-card-inner p { color:#5d6d80; line-height:1.7; }
.tm-spe-card-inner a { color:var(--blue); font-weight:800; text-decoration:none; }
.tm-spe-problems {
  margin:48px 0 24px;
  padding:28px;
  border-radius:15px;
  background:#f1f7fd;
}
.tm-spe-problems h2 { text-align:left; }
.tm-spe-problems li { margin:10px 0; color:#29425e; }
.tm-spe-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:28px 0;
  padding:30px;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(115deg,#071b36,#145ca8);
}
.tm-spe-cta h2 { color:#fff; margin:0 0 8px; font-size:30px; }
.tm-spe-cta p { color:#e8f0fa; line-height:1.7; }
.tm-spe-original-content { margin-top:30px; }

@media(max-width:800px) {
  .tm-spe-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tm-spe-hero { min-height:360px; }
}
@media(max-width:560px) {
  body.tm-spe-active .tm-content { padding-left:12px; padding-right:12px; }
  .tm-spe-hero { min-height:380px; padding:24px 18px; border-radius:12px; }
  .tm-spe-hero h1 { font-size:32px; }
  .tm-spe-buttons { flex-direction:column; }
  .tm-spe-buttons .tm-spe-btn { width:100%; }
  .tm-spe-grid { grid-template-columns:1fr; }
  .tm-spe-cta { flex-direction:column; align-items:stretch; padding:22px; }
  .tm-spe-cta .tm-spe-btn { width:100%; }
}
/* Laptop Repair service page layout adjustment */
body.tm-spe-active .tm-content {
    max-width: 1240px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

body.tm-spe-active .tm-page-head {
    display: none !important;
}

.tm-spe-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 40px;
}

.tm-spe-hero {
    width: 100%;
    min-height: 420px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.tm-spe-section {
    margin-top: 20px;
    margin-bottom: 20px;
}

.tm-spe-cta {
    margin-top: 40px;
}

@media (max-width: 768px) {
    .tm-spe-hero {
        min-height: 360px;
        padding: 24px 18px;
    }

    .tm-spe-grid {
        grid-template-columns: 1fr;
    }
}

/* TM Technology - Laptop Repair layout improvements */

/* Expand the service page content area */
body.tm-spe-active .tm-content {
    width: calc(100% - 40px) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Let the service layout use the available width */
body.tm-spe-active .tm-content .page-content {
    width: 100% !important;
    max-width: none !important;
}

/* Remove the theme's old page-title banner */
body.tm-spe-active .tm-page-head {
    display: none !important;
}

/* Keep the hero banner aligned and responsive */
body.tm-spe-active .tm-spe-wrap {
    width: 100% !important;
    max-width: none !important;
    margin-left: auto;
    margin-right: auto;
}

body.tm-spe-active .tm-spe-hero {
    width: 100%;
    min-height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* Improve spacing between page sections */
body.tm-spe-active .tm-spe-section {
    margin-top: 28px;
}

body.tm-spe-active .tm-spe-cta {
    margin-top: 40px;
}

@media (max-width: 768px) {
    body.tm-spe-active .tm-content {
        width: calc(100% - 24px) !important;
    }

    body.tm-spe-active .tm-spe-hero {
        min-height: 360px;
        padding: 24px 18px;
    }

    body.tm-spe-active .tm-spe-grid {
        grid-template-columns: 1fr;
    }
}

/* Fix CTA heading contrast */
body.tm-spe-active .tm-spe-cta h2 {
    color: #ffffff !important;
}

body.tm-spe-active .tm-spe-cta p {
    color: #f1f5f9 !important;
}

body.tm-spe-active .tm-spe-cta {
    color: #ffffff;
}

body.tm-spe-active .tm-spe-cta .tm-spe-btn {
    background: #ffffff;
    color: #0b3970 !important;
}

/* Keep hero and sections aligned */
body.tm-spe-active .tm-spe-wrap {
    width: 100%;
    max-width: 100%;
}

body.tm-spe-active .tm-spe-section > h2 {
    color: #071b36;
}
