/* KD Roofers v3.0.31 sub-service.css — sub-service imported pattern styles */

.kd-service-single--sub-service .kd-service-single-content-shell{
  padding-block:var(--kd-section-y);
}
.kd-service-single--sub-service .kd-service-single__main{
  display:grid;
  gap:var(--kd-section-gap);
}
.kd-service-clean--sub{
  display:block;
}
.kd-service-clean--sub .kd-service-clean-section{
  display:grid;
  gap:1rem;
}
.kd-service-clean--sub .kd-service-clean-section h2{
  max-width:1120px;
}
.kd-service-clean--sub .kd-service-clean-section h4{
  margin-top:.35rem;
}
.kd-service-clean--sub .kd-service-clean-list,
.kd-service-clean--sub .kd-service-clean-materials-grid,
.kd-service-clean--sub .kd-service-clean-linkgrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--kd-card-gap);
}
.kd-service-clean--sub .kd-service-clean-list{
  list-style:none;
}
.kd-service-clean--sub .kd-service-clean-list__text{
  display:block;
  color:var(--kd-ink);
  font-weight:700;
  line-height:1.42;
}
.kd-service-clean--sub .kd-service-clean-section__inner{
  width:min(var(--kd-container-wide),calc(100% - (var(--kd-page-gutter)*2)));
  margin-inline:auto;
}
.kd-subservice-clean-form{
  margin-top:var(--kd-section-gap);
}
.kd-service-clean--sub .kd-service-clean-list li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.78rem;
  align-items:center;
  min-width:0;
  padding:1rem;
  border:1px solid rgba(17,17,17,.1);
  background:#fff;
  color:var(--kd-ink);
  clip-path:var(--kd-roof-clip-sm);
  box-shadow:0 10px 24px rgba(17,24,39,.05);
}

.kd-service-clean--sub .kd-service-clean-linkcard{
  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  gap:.75rem;
  min-width:0;
  padding:1rem;
  border:1px solid rgba(17,17,17,.1);
  background:#fff;
  color:var(--kd-ink);
  clip-path:var(--kd-roof-clip-sm);
  box-shadow:0 10px 24px rgba(17,24,39,.05);
}
.kd-service-clean--sub .kd-service-clean-linkcard__index{
  color:var(--kd-red);
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.08em;
}
.kd-service-clean--sub .kd-service-clean-linkcard h3{
  margin:0;
  color:var(--kd-ink);
}
.kd-service-clean--sub .kd-service-clean-linkcard a{
  width:max-content;
  margin-top:auto;
  color:var(--kd-red);
  font-weight:800;
}

.kd-service-clean--sub .kd-service-clean-material-card{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  min-width:0;
  min-height:100%;
  padding:clamp(1.25rem,2vw,1.75rem);
  border:1px solid rgba(17,17,17,.1);
  background:#fff;
  color:var(--kd-ink);
  clip-path:var(--kd-roof-clip-sm);
  box-shadow:0 14px 34px rgba(17,24,39,.07);
}
.kd-service-clean--sub .kd-service-clean-material-card h3{
  margin:0;
  color:var(--kd-ink);
}
.kd-service-clean--sub .kd-service-clean-material-card p{
  margin:0;
  color:var(--kd-muted);
  line-height:1.68;
}
.kd-service-clean--sub .kd-service-clean-list__icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  background:rgba(221,24,59,.08);
  clip-path:var(--kd-roof-clip-sm);
}
.kd-service-clean--sub .kd-service-clean-list__icon img{
  width:18px;
  height:18px;
}


/* Sub-service imported patterns: keep a consistent section rhythm between stacked content blocks. */
.kd-service-clean--sub .kd-service-clean-section + .kd-service-clean-section{
  margin-top:var(--kd-section-gap);
}

@media (max-width:767px){
  .kd-service-clean--sub .kd-service-clean-list li{
    align-items:flex-start;
  }
}


/* Residential roof repairing & maintenance: use the premium checklist card style for the three feature items only. */
.kd-service-clean--residential-roof-repairing-and-maintenance .kd-service-clean-section--n1 .kd-service-clean-list{
  margin-top:clamp(1.15rem,1.8vw,1.45rem);
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.1rem,1.8vw,1.5rem);
}
.kd-service-clean--residential-roof-repairing-and-maintenance .kd-service-clean-section--n1 .kd-service-clean-list li{
  min-height:76px;
  padding:clamp(1.05rem,1.5vw,1.25rem) clamp(1.05rem,1.75vw,1.45rem);
  border-color:rgba(17,17,17,.095);
  background:#fff;
  box-shadow:none;
  align-items:center;
}
.kd-service-clean--residential-roof-repairing-and-maintenance .kd-service-clean-section--n1 .kd-service-clean-list__icon{
  width:34px;
  height:34px;
  background:rgba(221,24,59,.09);
}
.kd-service-clean--residential-roof-repairing-and-maintenance .kd-service-clean-section--n1 .kd-service-clean-list__text{
  font-size:clamp(1rem,1.08vw,1.08rem);
  line-height:1.4;
}
@media (max-width: 980px){
  .kd-service-clean--residential-roof-repairing-and-maintenance .kd-service-clean-section--n1 .kd-service-clean-list{
    grid-template-columns:1fr;
  }
}


/* Residential roof repairing & maintenance feature list: robust page-specific layout. */
.kd-residential-repair-feature-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.1rem,1.8vw,1.5rem);
  margin:clamp(1.15rem,1.8vw,1.45rem) 0 0;
  padding:0;
  list-style:none;
}
.kd-residential-repair-feature-list > li,
.kd-residential-repair-feature-list__item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.9rem;
  align-items:center;
  min-height:76px;
  padding:clamp(1.05rem,1.5vw,1.25rem) clamp(1.05rem,1.75vw,1.45rem);
  border:1px solid rgba(17,17,17,.095);
  background:#fff;
  color:var(--kd-ink);
  clip-path:var(--kd-roof-clip-sm);
  box-shadow:none;
  list-style:none;
}
.kd-residential-repair-feature-list > li::marker,
.kd-residential-repair-feature-list__item::marker{
  content:'';
}
.kd-residential-repair-feature-list .kd-service-clean-list__icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  background:rgba(221,24,59,.09);
  clip-path:var(--kd-roof-clip-sm);
}
.kd-residential-repair-feature-list .kd-service-clean-list__icon img{
  width:18px;
  height:18px;
}
.kd-residential-repair-feature-list .kd-service-clean-list__text{
  display:block;
  color:var(--kd-ink);
  font-size:clamp(1rem,1.08vw,1.08rem);
  font-weight:700;
  line-height:1.4;
}
@media (max-width: 980px){
  .kd-residential-repair-feature-list{
    grid-template-columns:1fr;
  }
}

/* Consultation & inspection sub-service: reuse the exact process-card design
 * from the main Roof Repairing & Maintenance page. Direct-child paragraph
 * selectors preserve the design on pages with older saved pattern markup. */
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2{
  counter-reset:kd-consultation-step;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:clamp(1rem,1.6vw,1.35rem);
  row-gap:0;
}
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2 > h2{
  grid-column:1 / -1;
  margin:0 0 1rem;
  color:var(--kd-ink);
  font-size:clamp(1.4rem,1.8vw,1.75rem);
  line-height:1.2;
  letter-spacing:-.03em;
}
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-consultation-process__grid{
  display:grid;
  grid-column:1 / -1;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1rem,1.6vw,1.35rem);
}
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-consultation-process__card,
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2 > p{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  gap:.95rem;
  min-width:0;
  min-height:160px;
  margin:0;
  padding:clamp(1.2rem,1.9vw,1.55rem);
  border:1px solid rgba(17,17,17,.1);
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,rgba(248,248,248,.94) 100%);
  color:var(--kd-ink);
  box-shadow:0 16px 30px rgba(17,24,39,.06);
}
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-consultation-process__card::after,
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2 > p::after{
  content:'';
  position:absolute;
  inset:auto 16px 0 auto;
  width:44px;
  height:44px;
  border:1px solid rgba(221,24,59,.12);
  border-radius:14px;
  opacity:.65;
}
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-consultation-process__number,
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2 > p::before{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:12px;
  background:var(--kd-red);
  color:#fff;
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.03em;
  line-height:1;
}
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2 > p{
  counter-increment:kd-consultation-step;
  font-size:clamp(1.05rem,1.2vw,1.12rem);
  font-weight:800;
  line-height:1.45;
}
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2 > p::before{
  content:counter(kd-consultation-step, decimal-leading-zero);
}
.kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-consultation-process__title{
  margin:0;
  color:var(--kd-ink);
  font-size:clamp(1.05rem,1.2vw,1.12rem);
  line-height:1.45;
}
@media (max-width:980px){
  .kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2,
  .kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-consultation-process__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:767px){
  .kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-consultation-process__card,
  .kd-service-clean--roof-repairing-and-maintenance-consultation-inspection .kd-service-clean-section--n2 > p{
    min-height:0;
    padding:1.05rem;
    border-radius:16px;
  }
}
