/* ==========================================================
   CEILING DRYWALL REPAIR PROJECT PAGE (Scoped)
   Wrapper: .drywall-repair-project
   Calm blue/stone repair theme
   ========================================================== */

:root{
  --dr-ink: #20272b;
  --dr-muted: #5f6d73;
  --dr-blue: #376b7f;
  --dr-blue-dark: #1f3f4d;
  --dr-mist: #edf5f7;
  --dr-paper: #fbfcfc;
  --dr-stone: #d9e3e6;
  --dr-sand: #e8dfd2;
  --dr-white: #ffffff;
}

.drywall-repair-project{
  max-width: 1280px;
  margin: 28px auto;
  padding: 20px;
  border-radius: 22px;
  color: var(--dr-ink);
  background:
    radial-gradient(1000px 520px at 20% 0%, rgba(55,107,127,0.14), transparent 62%),
    radial-gradient(900px 520px at 95% 15%, rgba(232,223,210,0.55), transparent 58%),
    linear-gradient(180deg, var(--dr-paper), var(--dr-mist));
  border: 1px solid var(--dr-stone);
  box-shadow: 0 22px 60px rgba(0,0,0,0.10);
}

.drywall-repair-project h1,
.drywall-repair-project h2,
.drywall-repair-project h3{
  color: var(--dr-ink);
  letter-spacing: -0.02em;
}

.drywall-repair-project p,
.drywall-repair-project li{
  color: var(--dr-muted);
  font-size: 1.06rem;
  line-height: 1.9;
}

.drywall-repair-project strong{
  color: var(--dr-ink);
  font-weight: 800;
}

/* HERO */
.drywall-repair-project .dr-hero{
  border-radius: 18px;
  overflow: hidden;
  background: var(--dr-white);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 18px 45px rgba(0,0,0,0.10);
}

.drywall-repair-project .dr-hero-media{
  position: relative;
  background: #eef4f5;
}

.drywall-repair-project .dr-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(255,255,255,0.00), rgba(31,63,77,0.18));
  pointer-events:none;
}

.drywall-repair-project .dr-hero img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.drywall-repair-project .dr-hero-text{
  padding: 20px 20px 22px;
  background:
    linear-gradient(90deg, rgba(55,107,127,0.13), rgba(232,223,210,0.36));
  border-top: 1px solid rgba(0,0,0,0.06);
}

.drywall-repair-project .dr-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 850;
  font-size: 0.88rem;
  color: var(--dr-blue-dark);
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(55,107,127,0.22);
}

.drywall-repair-project .dr-eyebrow::before{
  content:"";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--dr-blue);
  box-shadow: 0 0 0 4px rgba(55,107,127,0.14);
}

.drywall-repair-project .dr-title{
  font-size: 2.15rem;
  margin: 12px 0 8px;
}

.drywall-repair-project .dr-subtitle{
  margin: 0;
  color: rgba(32,39,43,0.82);
  font-weight: 650;
}

/* SECTIONS */
.drywall-repair-project .dr-section{
  margin-top: 18px;
  padding: 18px;
  border-radius: 16px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 12px 28px rgba(0,0,0,0.06);
}

.drywall-repair-project .dr-section > h2{
  display: inline-block;
  margin: 0 0 14px;
  padding: 8px 12px;
  border-radius: 12px;
  background: linear-gradient(90deg, rgba(55,107,127,0.14), rgba(232,223,210,0.45));
  border: 1px solid rgba(55,107,127,0.18);
  font-size: 1.2rem;
}

.drywall-repair-project .dr-card{
  background: var(--dr-white);
  border: 1px solid rgba(55,107,127,0.16);
}

.drywall-repair-project .dr-list{
  margin: 10px 0 0;
  padding-left: 1.15rem;
}

.drywall-repair-project .dr-list li{
  margin: 7px 0;
}

/* PROCESS */
.drywall-repair-project .dr-steps{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 10px;
}

.drywall-repair-project .dr-step{
  display: flex;
  gap: 12px;
  padding: 15px;
  border-radius: 16px;
  background: linear-gradient(180deg, #fff, rgba(237,245,247,0.78));
  border: 1px solid rgba(217,227,230,0.95);
  box-shadow: 0 10px 22px rgba(0,0,0,0.05);
}

.drywall-repair-project .dr-step-number{
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(180deg, var(--dr-blue), var(--dr-blue-dark));
  font-weight: 900;
}

.drywall-repair-project .dr-step h3{
  margin: 0 0 4px;
  font-size: 1rem;
}

.drywall-repair-project .dr-step p{
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.65;
}

/* GALLERY */
.drywall-repair-project .dr-gallery{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 12px;
}

.drywall-repair-project .dr-figure{
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  background: var(--dr-white);
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 16px 36px rgba(0,0,0,0.10);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.drywall-repair-project .dr-figure:hover{
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(0,0,0,0.14);
}

.drywall-repair-project .dr-figure img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  background: #f7fafb;
}

.drywall-repair-project .dr-figure figcaption{
  padding: 12px 14px;
  border-top: 1px solid rgba(0,0,0,0.06);
  color: var(--dr-muted);
  font-weight: 700;
  background: linear-gradient(180deg, #fff, rgba(237,245,247,0.72));
}

/* NOTE + CTA */
.drywall-repair-project .dr-note{
  background: rgba(255,255,255,0.86);
  border: 1px solid rgba(55,107,127,0.16);
}

.drywall-repair-project .dr-cta{
  background:
    linear-gradient(90deg, rgba(55,107,127,0.14), rgba(232,223,210,0.55));
  border: 1px solid rgba(55,107,127,0.20);
  box-shadow: 0 16px 38px rgba(0,0,0,0.08);
}

.drywall-repair-project .dr-cta h2{
  margin-bottom: 10px;
}

/* MOBILE */
@media (max-width: 980px){
  .drywall-repair-project{
    padding: 14px;
    margin: 18px 10px;
  }

  .drywall-repair-project .dr-title{
    font-size: 1.65rem;
  }

  .drywall-repair-project .dr-steps,
  .drywall-repair-project .dr-gallery{
    grid-template-columns: 1fr;
  }
}
