/* ── CSS VARIABLES ── */
body.single-device {
  --hero-bg: #1a1432 !important;
  --dark-section: #1e1a35 !important;
  --purple: #7141B1 !important;
  --purple-hover: #5c2fa0 !important;
  --light-bg: #f8f6fc !important;
  --white: #ffffff !important;
  --ink: #1B1D21 !important;
  --body-text: #555 !important;
  --muted: #888 !important;
  --border: rgba(0,0,0,0.08) !important;
  --accent-blue: #5EBBFE !important;
  --footer-bg: #141D38 !important;
  font-family: 'Nunito Sans', sans-serif !important;
  color: var(--ink) !important;
  line-height: 1.7 !important;
  background: var(--white) !important;
  -webkit-font-smoothing: antialiased !important;
}

/* ── RESET BOOTSTRAP/THEME .container OVERRIDES ── */
body.single-device .sp-hero .container,
body.single-device .sp-content-wrap,
body.single-device .repairs-break .container,
body.single-device .sp-faq .container,
body.single-device .sp-cta-final .container,
body.single-device .sp-related .container,
body.single-device .ra-device-reviews .container {
  float: none !important;
  width: auto !important;
  max-width: 1170px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* ── HERO ── */
body.single-device .sp-hero {
  background: var(--hero-bg) !important;
  padding: 70px 0 60px !important;
  position: relative !important;
  overflow: hidden !important;
}
body.single-device .sp-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='60' height='60' fill='none' stroke='%237141B1' stroke-width='.3' opacity='.08'/%3E%3C/svg%3E") !important;
  pointer-events: none !important;
}
body.single-device .sp-hero .container {
  display: grid !important;
  grid-template-columns: 1fr 340px !important;
  gap: 40px !important;
  align-items: center !important;
  position: relative !important;
  z-index: 1 !important;
}
body.single-device .sp-hero .container > .sp-hero-content {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}
body.single-device .sp-hero .container > .hero-right {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: 340px !important;
}
body.single-device .sp-hero-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #9b7fd4 !important;
  margin-bottom: 8px !important;
}
body.single-device .sp-hero h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 36px !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 14px !important;
  padding: 0 !important;
  border: none !important;
}
body.single-device .sp-hero .goal-text {
  font-size: 17px !important;
  color: rgba(255,255,255,.7) !important;
  line-height: 1.7 !important;
  margin-bottom: 20px !important;
}

/* Trust badges */
body.single-device .sp-hero-trust {
  display: flex !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
  flex-wrap: wrap !important;
}
body.single-device .trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
body.single-device .trust-icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 8px !important;
  background: rgba(113,65,177,0.15) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
body.single-device .trust-icon svg {
  width: 18px !important;
  height: 18px !important;
  stroke: #9b7fd4 !important;
  fill: none !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body.single-device .trust-icon svg.filled {
  fill: #9b7fd4 !important;
  stroke: none !important;
}
body.single-device .trust-text {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.85) !important;
  line-height: 1.3 !important;
}
body.single-device .trust-text small {
  display: block !important;
  font-weight: 500 !important;
  font-size: 10px !important;
  color: rgba(255,255,255,.4) !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

/* Hero buttons */
body.single-device .sp-hero-buttons {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  flex-direction: row !important;
}
body.single-device .sp-btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: #7141B1 !important;
  color: #fff !important;
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  transition: all .3s !important;
  border: none !important;
}
body.single-device .sp-btn-primary:hover {
  background: #5c2fa0 !important;
  transform: translateY(-2px) !important;
  color: #fff !important;
}
body.single-device .sp-btn-primary i { font-size: 14px !important; }
body.single-device .sp-btn-outline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: transparent !important;
  color: #fff !important;
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  border: 2px solid rgba(255,255,255,.35) !important;
  transition: all .3s !important;
}
body.single-device .sp-btn-outline:hover {
  border-color: #fff !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
}
body.single-device .sp-btn-outline i { font-size: 14px !important; }

/* Hero right - device image */
body.single-device .hero-right {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  width: auto !important;
}
body.single-device .device-showcase {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  padding-bottom: 60px !important;
}
body.single-device .device-showcase::before {
  content: '' !important;
  position: absolute !important;
  top: 45% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 400px !important;
  height: 400px !important;
  background: radial-gradient(ellipse at center, rgba(113,65,177,0.5) 0%, rgba(113,65,177,0.3) 25%, rgba(113,65,177,0.15) 45%, transparent 65%) !important;
  border-radius: 50% !important;
  filter: blur(30px) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
body.single-device .device-showcase .device-img {
  position: relative !important;
  z-index: 1 !important;
  max-height: 280px !important;
  object-fit: contain !important;
  filter: brightness(1.3) drop-shadow(0 20px 50px rgba(0,0,0,0.5)) drop-shadow(0 0 40px rgba(113,65,177,0.3)) !important;
  animation: deviceFloat 6s ease-in-out infinite !important;
}
body.single-device .device-showcase .device-reflection {
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) scaleY(-1) !important;
  z-index: 1 !important;
  max-height: 280px !important;
  object-fit: contain !important;
  opacity: 0.2 !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, transparent 40%) !important;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%, transparent 40%) !important;
  filter: blur(2px) brightness(1.3) !important;
  pointer-events: none !important;
}
@keyframes deviceFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ── REVIEWS SECTION ── */
body.single-device .sp-reviews {
  padding: 50px 0 !important;
  background: #fff !important;
}
body.single-device .sp-reviews-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 1.5px !important; text-transform: uppercase !important;
  color: var(--purple) !important; text-align: center !important;
  margin-bottom: 8px !important;
}
body.single-device .sp-reviews-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 28px !important; font-weight: 800 !important;
  color: var(--ink) !important; text-align: center !important;
  margin-bottom: 32px !important;
}
body.single-device .sp-reviews-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  margin-bottom: 28px !important;
}
body.single-device .sp-review-card {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 24px !important;
  float: none !important;
  width: auto !important;
}
body.single-device .sp-review-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
body.single-device .sp-review-avatar {
  width: 40px !important; height: 40px !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important; font-weight: 800 !important;
  flex-shrink: 0 !important;
}
body.single-device .sp-review-name {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important; font-weight: 700 !important;
  color: var(--ink) !important;
}
body.single-device .sp-review-date {
  font-size: 12px !important; color: #999 !important;
}
body.single-device .sp-review-stars {
  color: #f59e0b !important; font-size: 16px !important;
  letter-spacing: 2px !important; margin-bottom: 12px !important;
}
body.single-device .sp-review-text {
  font-size: 14px !important; line-height: 1.7 !important;
  color: var(--body-text) !important;
}
body.single-device .sp-reviews-link,
body.single-device .sp-reviews-link:visited {
  display: block !important; text-align: center !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important; font-weight: 600 !important;
  color: var(--purple) !important; text-decoration: none !important;
}
body.single-device .sp-reviews-link:hover { text-decoration: underline !important; }

/* ── CONTENT LAYOUT (TOC + Main) ── */
body.single-device .sp-content-wrap {
  max-width: 1170px !important;
  margin: 0 auto !important;
  padding: 50px 20px !important;
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 40px !important;
  align-items: start !important;
  float: none !important;
  width: auto !important;
}
body.single-device .sp-content-wrap > aside,
body.single-device .sp-content-wrap > .sp-toc {
  grid-column: 1 !important;
  width: 260px !important;
  min-width: 260px !important;
  float: none !important;
  align-self: start !important;
}
body.single-device .sp-content-wrap > main,
body.single-device .sp-content-wrap > .sp-main {
  grid-column: 2 !important;
  width: auto !important;
  min-width: 0 !important;
  float: none !important;
}

/* ── PART NUMBERS TABLE ── */
body.single-device .part-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 16px 0 28px !important;
  font-size: 13px !important;
}
body.single-device .part-table thead th {
  background: #1a1432 !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  padding: 10px 14px !important;
  text-align: left !important;
}
body.single-device .part-table tbody td {
  padding: 10px 14px !important;
  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  color: #555 !important;
}
body.single-device .part-table tbody td:first-child {
  font-weight: 700 !important;
  color: #1B1D21 !important;
}
body.single-device .part-table tbody tr:hover td {
  background: #f8f6fc !important;
}

/* Force overflow visible on all ancestors so sticky works */
body.single-device,
body.single-device .ra-booking-page,
body.single-device .sp-content-wrap {
  overflow: visible !important;
}

/* ── TOC SIDEBAR ── */
body.single-device .sp-toc {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 80px !important;
  background: var(--light-bg) !important;
  border-radius: 10px !important;
  padding: 24px !important;
  border-left: 3px solid var(--purple) !important;
  max-height: calc(100vh - 100px) !important;
  overflow-y: auto !important;
}
body.single-device .sp-toc h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin-bottom: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}
body.single-device .sp-toc ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.single-device .sp-toc li {
  margin-bottom: 8px !important;
  list-style: none !important;
}
body.single-device .sp-toc li::before {
  display: none !important;
  content: none !important;
}
body.single-device .sp-toc a {
  font-size: 13px !important;
  color: #666 !important;
  text-decoration: none !important;
  display: block !important;
  padding: 4px 0 !important;
  border-left: 2px solid transparent !important;
  padding-left: 12px !important;
  transition: all .2s !important;
  line-height: 1.4 !important;
}
body.single-device .sp-toc a:hover,
body.single-device .sp-toc a.active {
  color: var(--purple) !important;
  border-left-color: var(--purple) !important;
}
body.single-device .sp-toc .toc-h3 {
  padding-left: 24px !important;
  font-size: 12px !important;
  color: #999 !important;
}

/* ── MAIN CONTENT ── */
body.single-device .sp-main h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin: 40px 0 16px !important;
  line-height: 1.3 !important;
  border: none !important;
  padding: 0 !important;
}
body.single-device .sp-main h2:first-child { margin-top: 0 !important; }
body.single-device .sp-main h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin: 30px 0 12px !important;
  border: none !important;
  padding: 0 !important;
}
body.single-device .sp-main h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin: 24px 0 10px !important;
}
body.single-device .sp-main p {
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: var(--body-text) !important;
  margin-bottom: 16px !important;
}
body.single-device .sp-main a {
  color: var(--purple) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
body.single-device .sp-main a:hover { text-decoration: underline !important; }
body.single-device .sp-main ul,
body.single-device .sp-main ol {
  margin: 0 0 16px 24px !important;
  padding: 0 !important;
}
body.single-device .sp-main li {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: var(--body-text) !important;
  margin-bottom: 6px !important;
}
body.single-device .sp-main li::before {
  display: none !important;
  content: none !important;
}

/* ── BLOCKQUOTE (override Engitech's decorative blockquote) ── */
body.single-device .sp-main blockquote.sp-blockquote,
body.single-device .sp-main .sp-blockquote,
body.single-device .sp-blockquote {
  border-left: 4px solid var(--purple) !important;
  background: var(--light-bg) !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
  border-radius: 0 10px 10px 0 !important;
  position: relative !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: normal !important;
  font-family: inherit !important;
  color: inherit !important;
  quotes: none !important;
}
body.single-device .sp-main blockquote.sp-blockquote::before,
body.single-device .sp-main .sp-blockquote::before,
body.single-device .sp-blockquote::before,
body.single-device .sp-main blockquote.sp-blockquote::after,
body.single-device .sp-main .sp-blockquote::after,
body.single-device .sp-blockquote::after {
  display: none !important;
  content: none !important;
}
body.single-device .sp-blockquote p {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  line-height: 1.7 !important;
  margin: 0 !important;
  font-style: italic !important;
}

/* Model number tags */
body.single-device .model-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
}
body.single-device .model-tag {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--purple) !important;
  background: var(--light-bg) !important;
  padding: 5px 14px !important;
  border-left: 3px solid var(--purple) !important;
}

/* Specs card */
body.single-device .specs-card {
  background: var(--white) !important;
  border: 1px solid rgba(113,65,177,0.12) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  margin: 24px 0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04) !important;
}
body.single-device .specs-card-header {
  background: var(--hero-bg) !important;
  padding: 14px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
body.single-device .specs-card-header i {
  color: var(--accent-blue) !important;
  font-size: 16px !important;
}
body.single-device .specs-card-header h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}
body.single-device .specs-card-body {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  padding: 0 !important;
}
body.single-device .specs-row-item {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  padding: 12px 20px !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 14px !important;
  float: none !important;
  width: auto !important;
}
body.single-device .specs-row-item:nth-child(odd) {
  border-right: 1px solid var(--border) !important;
}
body.single-device .specs-row-item:nth-last-child(-n+2) {
  border-bottom: none !important;
}
body.single-device .spec-label {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .3px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
body.single-device .spec-value {
  color: var(--body-text) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
body.single-device .spec-value strong {
  color: var(--ink) !important;
  font-weight: 700 !important;
}

/* "Not sure which device?" helper box */
body.single-device .device-helper {
  background: linear-gradient(135deg, var(--light-bg) 0%, rgba(113,65,177,0.06) 100%) !important;
  border: 2px solid rgba(113,65,177,0.12) !important;
  border-radius: 10px !important;
  padding: 24px 28px !important;
  margin: 28px 0 !important;
  display: flex !important;
  gap: 20px !important;
  align-items: flex-start !important;
}
body.single-device .device-helper-icon {
  width: 48px !important;
  height: 48px !important;
  background: var(--purple) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
body.single-device .device-helper-icon i {
  font-size: 20px !important;
  color: #fff !important;
}
body.single-device .device-helper-content h4 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin: 0 0 6px !important;
}
body.single-device .device-helper-content p {
  font-size: 15px !important;
  color: var(--body-text) !important;
  line-height: 1.7 !important;
  margin: 0 0 12px !important;
}
body.single-device .device-helper-content .helper-steps {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.single-device .device-helper-content .helper-steps li {
  font-size: 14px !important;
  color: var(--body-text) !important;
  padding: 4px 0 !important;
  display: flex !important;
  gap: 8px !important;
  align-items: baseline !important;
  line-height: 1.6 !important;
}
body.single-device .device-helper-content .helper-steps li::before {
  display: none !important;
  content: none !important;
}
body.single-device .device-helper-content .helper-steps li strong {
  color: var(--ink) !important;
}
body.single-device .device-helper-content .helper-steps li i {
  color: var(--purple) !important;
  font-size: 11px !important;
  flex-shrink: 0 !important;
  margin-top: 4px !important;
}

/* Issues checklist */
body.single-device .issues-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 4px 24px !important;
  margin-bottom: 20px !important;
}
body.single-device .issue-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 15px !important;
  color: var(--body-text) !important;
  padding: 6px 0 !important;
}
body.single-device .issue-item i {
  color: var(--purple) !important;
  font-size: 13px !important;
  width: 18px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}

/* Inline CTA block */
body.single-device .sp-inline-cta {
  background: var(--light-bg) !important;
  border-left: 4px solid var(--purple) !important;
  padding: 24px 28px !important;
  margin: 30px 0 !important;
  border-radius: 0 10px 10px 0 !important;
}
body.single-device .sp-inline-cta p {
  margin: 0 0 12px !important;
  font-size: 16px !important;
  color: var(--body-text) !important;
}
body.single-device .sp-inline-cta .sp-btn-small {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 20px !important;
  background: var(--purple) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  transition: all .3s !important;
  border: none !important;
}
body.single-device .sp-inline-cta .sp-btn-small:hover {
  background: var(--purple-hover) !important;
  color: #fff !important;
}
body.single-device .sp-inline-cta .sp-btn-small i { font-size: 12px !important; }

/* ── PICK A PROBLEM (Repair Cards) ── */
body.single-device .repairs-break {
  background: var(--hero-bg) !important;
  padding: 60px 0 !important;
  position: relative !important;
}
body.single-device .repairs-break::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='60' height='60' fill='none' stroke='%237141B1' stroke-width='.3' opacity='.06'/%3E%3C/svg%3E") !important;
  pointer-events: none !important;
}
body.single-device .repairs-break .container {
  position: relative !important;
  z-index: 1 !important;
}
body.single-device .repairs-break .section-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--accent-blue) !important;
  margin-bottom: 10px !important;
}
body.single-device .repairs-break .section-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
  border: none !important;
  padding: 0 !important;
}
body.single-device .repairs-break .repairs-desc {
  color: rgba(255,255,255,0.6) !important;
  font-size: 15px !important;
  margin-bottom: 32px !important;
  max-width: 600px !important;
}
body.single-device .repairs-break .repairs-desc strong { color: #fff !important; }

body.single-device .repair-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 12px !important;
  margin-bottom: 32px !important;
}
body.single-device .ra-repair-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 24px 16px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 2px solid rgba(255,255,255,0.1) !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all .2s !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #fff !important;
  text-align: center !important;
  text-decoration: none !important;
  float: none !important;
  width: auto !important;
}
body.single-device .ra-repair-card i {
  font-size: 28px !important;
  color: var(--accent-blue) !important;
  transition: transform .2s !important;
}
body.single-device .ra-repair-card:hover {
  border-color: var(--purple) !important;
  background: rgba(113,65,177,0.12) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(113,65,177,0.15) !important;
}
body.single-device .ra-repair-card:hover i { transform: scale(1.1) !important; }
body.single-device .ra-repair-card.active {
  border-color: var(--purple) !important;
  background: rgba(113,65,177,0.2) !important;
}

/* ── FAQ (expanded) ── */
body.single-device .sp-faq {
  background: var(--light-bg) !important;
  padding: 60px 0 !important;
}
body.single-device .sp-faq .container {
  max-width: 820px !important;
}
body.single-device .sp-faq-heading {
  text-align: center !important;
  margin-bottom: 40px !important;
}
body.single-device .sp-faq-heading span {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--purple) !important;
  margin-bottom: 8px !important;
}
body.single-device .sp-faq-heading h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.single-device .sp-faq-item {
  padding: 24px 28px !important;
  margin-bottom: 14px !important;
  background: #fff !important;
  border-left: 4px solid var(--purple) !important;
  border-radius: 0 10px 10px 0 !important;
}
body.single-device .sp-faq-item h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin-bottom: 10px !important;
  margin-top: 0 !important;
  border: none !important;
  padding: 0 !important;
}
body.single-device .sp-faq-item p {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #666 !important;
  margin: 0 0 8px !important;
}
body.single-device .sp-faq-item p:last-child { margin-bottom: 0 !important; }

/* ── CTA FINAL ── */
body.single-device .sp-cta-final {
  background: var(--dark-section) !important;
  padding: 60px 0 !important;
  text-align: center !important;
}
body.single-device .sp-cta-final .container {
  max-width: 900px !important;
}
body.single-device .sp-cta-final h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 32px !important;
  font-weight: 900 !important;
  color: #fff !important;
  line-height: 1.2 !important;
  margin-bottom: 6px !important;
  border: none !important;
  padding: 0 !important;
}
body.single-device .sp-cta-sub {
  font-size: 16px !important;
  color: rgba(255,255,255,.45) !important;
  margin-bottom: 30px !important;
}
body.single-device .sp-cta-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
}
body.single-device .sp-cta-phone a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  color: #fff !important;
  text-decoration: none !important;
}
body.single-device .sp-cta-phone a:hover { color: #9b7fd4 !important; }
body.single-device .sp-cta-phone-icon {
  width: 56px !important;
  height: 56px !important;
  background: var(--purple) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  animation: phonePulse 2s infinite !important;
}
body.single-device .sp-cta-phone-icon i {
  font-size: 24px !important;
  color: #fff !important;
}
@keyframes phonePulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(113,65,177,.4); }
  50% { box-shadow: 0 0 0 12px rgba(113,65,177,0); }
}
body.single-device .sp-cta-details {
  display: flex !important;
  justify-content: center !important;
  gap: 30px !important;
  margin-bottom: 28px !important;
  flex-wrap: wrap !important;
}
body.single-device .sp-cta-detail {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: rgba(255,255,255,.5) !important;
}
body.single-device .sp-cta-detail i {
  color: #9b7fd4 !important;
  font-size: 14px !important;
}
body.single-device .sp-cta-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 12px !important;
  margin-bottom: 30px !important;
}
body.single-device .sp-cta-btn-fill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: #7141B1 !important;
  color: #fff !important;
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  transition: all .3s !important;
  border: none !important;
}
body.single-device .sp-cta-btn-fill:hover {
  background: #5c2fa0 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(113,65,177,.4) !important;
  color: #fff !important;
}
body.single-device .sp-cta-btn-fill i { font-size: 14px !important; }
body.single-device .sp-cta-btn-ghost {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 28px !important;
  background: transparent !important;
  color: rgba(255,255,255,.7) !important;
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border-radius: 10px !important;
  border: 2px solid rgba(255,255,255,.2) !important;
  transition: all .3s !important;
}
body.single-device .sp-cta-btn-ghost:hover {
  border-color: rgba(255,255,255,.5) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}
body.single-device .sp-cta-btn-ghost i { font-size: 14px !important; }
body.single-device .sp-cta-map {
  border-radius: 10px !important;
  overflow: hidden !important;
  height: 200px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
body.single-device .sp-cta-map iframe {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}

/* ── RELATED SERVICES ── */
body.single-device .sp-related {
  padding: 50px 0 !important;
  background: #fff !important;
}
body.single-device .sp-related h3 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin-bottom: 20px !important;
  text-align: center !important;
  border: none !important;
  padding: 0 !important;
}
body.single-device .sp-related-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 14px !important;
}
body.single-device .sp-related-link {
  display: block !important;
  padding: 16px 18px !important;
  background: var(--light-bg) !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  text-align: center !important;
  transition: all .2s !important;
  border: 1px solid transparent !important;
  float: none !important;
  width: auto !important;
}
body.single-device .sp-related-link:hover {
  border-color: var(--purple) !important;
  color: var(--purple) !important;
  transform: translateY(-2px) !important;
}

/* ── RESPONSIVE ── */
@media(max-width:991px){
  /* Hero: stack to single column */
  body.single-device .sp-hero .container { grid-template-columns: 1fr !important; }
  body.single-device .sp-hero .container > .sp-hero-content { grid-column: 1 !important; }
  body.single-device .sp-hero .container > .hero-right { grid-column: 1 !important; grid-row: auto !important; max-width: 300px !important; margin: 20px auto 0 !important; }
  body.single-device .sp-hero { padding: 40px 0 30px !important; }
  body.single-device .sp-hero h1 { font-size: 26px !important; }
  body.single-device .sp-hero .goal-text { font-size: 15px !important; }
  body.single-device .sp-hero-trust { gap: 12px !important; margin-bottom: 20px !important; }
  body.single-device .sp-hero-trust .trust-icon { display: flex !important; width: 28px !important; height: 28px !important; }
  body.single-device .sp-hero-trust .trust-icon svg { width: 14px !important; height: 14px !important; }
  body.single-device .sp-hero-buttons { flex-direction: row !important; gap: 10px !important; }
  body.single-device .sp-btn-primary,
  body.single-device .sp-btn-outline { padding: 12px 16px !important; font-size: 13px !important; flex: 1 !important; justify-content: center !important; white-space: nowrap !important; }

  /* Reviews grid: 2 cols on tablet */
  body.single-device .sp-reviews-grid { grid-template-columns: 1fr 1fr !important; }
  body.single-device .sp-reviews { padding: 30px 0 !important; }

  /* Content wrap: single column, TOC full width */
  body.single-device .sp-content-wrap { grid-template-columns: 1fr !important; gap: 0 !important; padding: 30px 16px !important; }
  body.single-device .sp-content-wrap > aside,
  body.single-device .sp-content-wrap > .sp-toc { grid-column: 1 !important; width: 100% !important; min-width: 0 !important; max-width: none !important; position: static !important; margin-bottom: 24px !important; }
  body.single-device .sp-content-wrap > main,
  body.single-device .sp-content-wrap > .sp-main { grid-column: 1 !important; width: 100% !important; }

  /* Specs card single column */
  body.single-device .specs-card-body { grid-template-columns: 1fr !important; }
  body.single-device .specs-row-item:nth-child(odd) { border-right: none !important; }
  body.single-device .specs-row-item { flex-direction: column !important; gap: 4px !important; }

  /* Issues single column */
  body.single-device .issues-grid { grid-template-columns: 1fr !important; }

  /* Repair cards: 2 cols */
  body.single-device .repair-grid { grid-template-columns: 1fr 1fr !important; }

  /* CTA final */
  body.single-device .sp-cta-phone a { font-size: 26px !important; }
  body.single-device .sp-cta-phone-icon { width: 44px !important; height: 44px !important; }
  body.single-device .sp-cta-details { flex-direction: column !important; gap: 10px !important; align-items: center !important; }
  body.single-device .sp-cta-final h2 { font-size: 24px !important; }
  body.single-device .sp-cta-actions { flex-direction: column !important; align-items: center !important; }

  /* Related services */
  body.single-device .sp-related-grid { grid-template-columns: 1fr 1fr !important; }

  /* Device helper box */
  body.single-device .device-helper { flex-direction: column !important; gap: 14px !important; padding: 20px !important; }

  /* FAQ */
  body.single-device .sp-faq { padding: 40px 0 !important; }
  body.single-device .sp-faq-heading h2 { font-size: 24px !important; }
  body.single-device .sp-faq-item { padding: 18px 16px !important; }
  body.single-device .sp-faq-item h3 { font-size: 15px !important; }

  /* Main content */
  body.single-device .sp-main h2 { font-size: 22px !important; margin: 28px 0 12px !important; }
  body.single-device .sp-main h3 { font-size: 18px !important; }
  body.single-device .sp-main p { font-size: 15px !important; }

  /* Blockquote */
  body.single-device .sp-blockquote { padding: 16px 18px !important; }
  body.single-device .sp-blockquote p { font-size: 15px !important; }

  /* Inline CTA */
  body.single-device .sp-inline-cta { padding: 18px 16px !important; }

  /* Repairs break section */
  body.single-device .repairs-break { padding: 40px 0 !important; }
  body.single-device .repairs-break .section-title { font-size: 22px !important; }
}
@media(max-width:480px){
  body.single-device .sp-hero h1 { font-size: 24px !important; }
  body.single-device .device-showcase .device-img,
  body.single-device .device-showcase .device-reflection { max-height: 180px !important; }
  body.single-device .device-showcase::before { width: 220px !important; height: 220px !important; }
  body.single-device .sp-reviews-grid { grid-template-columns: 1fr !important; }
  body.single-device .sp-related-grid { grid-template-columns: 1fr !important; }
  body.single-device .repair-grid { grid-template-columns: 1fr 1fr !important; }
  body.single-device .ra-repair-card { padding: 16px 12px !important; font-size: 13px !important; }
  body.single-device .ra-repair-card i { font-size: 22px !important; }
  body.single-device .sp-cta-phone a { font-size: 22px !important; }
}
/* ── CTA FINAL (copied from service pages) ── */
body.single-device .sp-cta-final{background:#1a1432;padding:60px 0;text-align:center}
body.single-device .sp-cta-final .container{max-width:900px;margin:0 auto;padding:0 20px}
body.single-device .sp-cta-final h2{font-family:'Montserrat',sans-serif;font-size:32px;font-weight:900;color:#fff !important;line-height:1.2;margin-bottom:6px}
body.single-device .sp-cta-sub{font-size:16px;color:rgba(255,255,255,.45);margin-bottom:30px}
body.single-device .sp-cta-phone{display:inline-flex;align-items:center;gap:14px;margin-bottom:24px}
body.single-device .sp-cta-phone a{font-family:'Montserrat',sans-serif;font-size:38px;font-weight:900;color:#fff !important;text-decoration:none !important;transition:color .2s}
body.single-device .sp-cta-phone a:hover{color:#9b7fd4 !important}
body.single-device .sp-cta-phone-icon{width:56px;height:56px;background:#7141B1;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:phonePulse 2s infinite}
body.single-device .sp-cta-phone-icon svg{width:24px;height:24px;fill:#fff}
@keyframes phonePulse{0%,100%{box-shadow:0 0 0 0 rgba(113,65,177,.4)}50%{box-shadow:0 0 0 12px rgba(113,65,177,0)}}
body.single-device .sp-cta-details{display:flex;justify-content:center;gap:30px;margin-bottom:28px;flex-wrap:wrap}
body.single-device .sp-cta-detail{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(255,255,255,.5)}
body.single-device .sp-cta-detail svg{width:16px;height:16px;fill:#9b7fd4}
body.single-device .sp-cta-actions{display:flex;justify-content:center;gap:12px;margin-bottom:30px;flex-wrap:wrap}
body.single-device .sp-cta-btn-fill{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:#7141B1;color:#fff !important;font-family:'Nunito Sans',sans-serif;font-size:15px;font-weight:700;text-decoration:none !important;border-radius:10px;transition:all .3s}
body.single-device .sp-cta-btn-fill:hover{background:#5c2fa0;transform:translateY(-2px);box-shadow:0 6px 20px rgba(113,65,177,.4)}
body.single-device .sp-cta-btn-fill svg{width:16px;height:16px;fill:#fff}
body.single-device .sp-cta-btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:transparent;color:rgba(255,255,255,.7) !important;font-family:'Nunito Sans',sans-serif;font-size:15px;font-weight:700;text-decoration:none !important;border-radius:10px;border:2px solid rgba(255,255,255,.2);transition:all .3s}
body.single-device .sp-cta-btn-ghost:hover{border-color:rgba(255,255,255,.5);color:#fff !important;transform:translateY(-2px)}
body.single-device .sp-cta-btn-ghost svg{width:16px;height:16px;fill:currentColor}
body.single-device .sp-cta-map{border-radius:10px;overflow:hidden;height:200px;border:1px solid rgba(255,255,255,.08)}
body.single-device .sp-cta-map iframe{width:100%;height:100%;border:none}

/* Reviews text colour fix */
body.single-device .ra-drev-card{color:#1B1D21 !important}
body.single-device .ra-drev-name{color:#1B1D21 !important}
body.single-device .ra-drev-text{color:#555 !important}
body.single-device .ra-drev-date{color:#999 !important}
body.single-device .ra-drev-stars{color:#f59e0b !important}

@media(max-width:991px){
  body.single-device .sp-cta-phone a{font-size:26px}
  body.single-device .sp-cta-phone-icon{width:44px;height:44px}
  body.single-device .sp-cta-details{flex-direction:column;gap:10px;align-items:center}
  body.single-device .sp-cta-final h2{font-size:24px}
  body.single-device .sp-cta-actions{flex-direction:column;align-items:center}
}
