/* =========================================================
   Carpet & Upholstery Page Layer
   Page-specific refinements only.

   Shared service-page layouts belong in service-page.css:
   hero cards, context cards, context panels, service rows, CTA bridges, and FAQ layout.
   Shared section systems belong in core/sections.css.
   ========================================================= */

/* ------------------------------
   Carpet/upholstery diagnosis section
   ------------------------------ */
.textile-diagnosis-intro {
  max-width: 980px;
}

.textile-diagnosis-grid {
  margin-top: 6px;
}

/* ------------------------------
   Carpet/upholstery context panel refinements
   ------------------------------ */
.services-context-card-wide .services-context-card-wide-text {
  max-width: none;
  margin: 0;
  color: #e2e8f0;
  text-align: left;
  font-size: 15px;
  line-height: 1.74;
}

/* ------------------------------
   Carpet/upholstery service rows
   ------------------------------ */
.carpet-areas-section {
  padding-top: 100px;
}

.carpet-areas-section .services-header {
  margin-bottom: 54px;
}

.carpet-areas-section .service-row:first-of-type {
  margin-top: 0;
}

.carpet-areas-section .service-h3 {
  max-width: 720px;
}

.carpet-areas-section .lux-p-body {
  max-width: 760px;
}

/* ------------------------------
   Carpet/upholstery card copy treatment
   ------------------------------ */
.service-context-card.emphasized .service-context-label,
.services-context-card-wide .service-context-label {
  color: var(--gold-light);
}

.services-context-card-wide .services-context-card-wide-text strong {
  color: #ffffff;
}

/* ------------------------------
   Carpet/upholstery FAQ/support spacing
   ------------------------------ */
.carpet-upholstery-faq-note {
  max-width: 760px;
  margin: 18px auto 0;
  color: #53647d;
  font-size: 15px;
  line-height: 1.72;
  text-align: center;
}

/* ------------------------------
   Responsive refinements
   ------------------------------ */
@media (max-width: 991px) {
  .carpet-areas-section {
    padding-top: 88px;
  }
}

@media (max-width: 767px) {
  .carpet-areas-section {
    padding-top: 74px;
  }

  .services-context-card-wide .services-context-card-wide-text {
    font-size: 14px;
    line-height: 1.7;
  }
}

/* ------------------------------
   Page bottom background guard
   Prevents white showing below async footer/includes on this page type.
   ------------------------------ */
html,
body {
  background: #041124;
}

#site-footer {
  background: #041124;
}

/* ------------------------------
   Carpet/upholstery dark callout spacing
   ------------------------------ */
.carpet-dark-callout-header {
  padding-top: 20px;
}

.carpet-dark-callout-copy {
  max-width: 930px;
  margin-bottom: 0;
}

/* ------------------------------
   Utility / external embeds
   ------------------------------ */
.gtm-noscript-frame {
  display: none;
  visibility: hidden;
}

/* ------------------------------
   Carpet/upholstery dark callout spacing
   ------------------------------ */
.carpet-dark-callout-header {
  padding-top: 20px;
}

.carpet-dark-callout-copy {
  max-width: 930px;
  margin-bottom: 0;
}

/* ------------------------------
   Carpet/upholstery dark process callout
   ------------------------------ */
.services-dark-callout {
  position: relative;
  overflow: hidden;
  margin: 52px 0 10px;
  padding: 54px 42px;
  border-radius: 32px;
  background:
    radial-gradient(circle at 86% 0%, rgba(212, 175, 55, 0.12), rgba(212, 175, 55, 0) 34%),
    linear-gradient(135deg, #071a36 0%, #102b52 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 28px 74px rgba(11, 30, 58, 0.16);
}

.services-dark-callout::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 0.36;
  pointer-events: none;
}

.services-dark-callout > * {
  position: relative;
  z-index: 1;
}

.services-dark-callout .lux-eyebrow-gold {
  color: var(--gold-light);
}

.services-dark-callout .lux-h2-white {
  color: #ffffff;
}

.services-dark-callout .lux-p-center-light,
.services-dark-callout .carpet-dark-callout-copy {
  color: #d7e0ec;
}

@media (max-width: 767px) {
  .services-dark-callout {
    margin: 38px 0 0;
    padding: 32px 20px;
    border-radius: 24px;
  }
}