/* ==========================================
   LETZY CLEAN – CSS PAGES PRESTATIONS (COMMUN)
   Utilisable pour : intérieur / extérieur / optiques / location
   ========================================== */

/* Conteneur principal */
.page-prestation{
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 16px 40px;
}

/* HERO */
.hero-prestation{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.05);
}

.hero-inner h1{
  margin: 0 0 10px;
  font-size: 26px;
  line-height: 1.15;
}

.hero-sub{
  margin: 0 0 14px;
  color: rgba(0,0,0,.75);
  line-height: 1.55;
  font-size: 15px;
}

/* Boutons */
.hero-cta{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 800;
  font-size: 14px;
  border: 1px solid transparent;
  cursor: pointer;
  user-select: none;
}

.btn-primary{
  background: #ff7a00;
  color: #fff;
}

.btn-primary:hover{ opacity: .92; }

.btn-secondary{
  background: rgba(255,122,0,.10);
  color: #111;
  border-color: rgba(255,122,0,.25);
}

.btn-secondary:hover{ opacity: .92; }

/* Bande de “preuves” */
.hero-trust{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 10px;
}

.trust-item{
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  color: rgba(0,0,0,.80);
}

/* IMAGES / PLACEHOLDERS */
.media-strip{
  margin: 14px 0 0;
}

.media-grid{
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}

.media-card{
  margin: 0;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.04);
}

.media-placeholder{
  min-height: 140px;
  display: grid;
  place-items: center;
  font-weight: 700;
  color: rgba(0,0,0,.55);
  background: rgba(0,0,0,.03);
}

.media-card figcaption{
  padding: 10px 12px;
  font-size: 13px;
  color: rgba(0,0,0,.75);
}

/* SECTIONS */
.section{
  margin-top: 18px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}

.section.alt{
  background: rgba(0,0,0,.015);
}

.section-inner h2{
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.2;
}

.section-lead{
  margin: 0 0 14px;
  color: rgba(0,0,0,.75);
  line-height: 1.6;
  font-size: 14.5px;
}

/* PROCESS – Grille étapes */
.steps-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.step-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.step-card h3{
  margin: 0 0 6px;
  font-size: 15px;
}

.step-card p{
  margin: 0;
  color: rgba(0,0,0,.75);
  line-height: 1.55;
  font-size: 14px;
}

/* CTA band (milieu de page) */
.cta-band{
  margin-top: 14px;
  border-radius: 16px;
  padding: 14px;
  border: 1px solid rgba(255,122,0,.35);
  background: rgba(255,122,0,.07);
  display: grid;
  gap: 10px;
}

.cta-text h3{
  margin: 0 0 6px;
  font-size: 16px;
}

.cta-text p{
  margin: 0;
  color: rgba(0,0,0,.75);
  line-height: 1.5;
  font-size: 14px;
}

.cta-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* TECHNIQUES – 3 cartes */
.cards-3{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.info-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.info-card h3{
  margin: 0 0 6px;
  font-size: 15px;
}

.info-card p{
  margin: 0;
  color: rgba(0,0,0,.75);
  line-height: 1.55;
  font-size: 14px;
}

/* PRODUITS – cartes liste */
.list-cards{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.list-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  background: #fff;
  padding: 14px;
}

.list-card h3{
  margin: 0 0 6px;
  font-size: 15px;
}

.list-card p{
  margin: 0;
  color: rgba(0,0,0,.75);
  line-height: 1.55;
  font-size: 14px;
}

/* VALEURS */
.values{
  margin: 0;
  padding-left: 18px;
  color: rgba(0,0,0,.75);
  line-height: 1.6;
  font-size: 14px;
}

.values li{ margin: 8px 0; }
.values strong{ color: rgba(0,0,0,.88); }

/* FAQ */
.faq details{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: #fff;
  padding: 10px 12px;
  margin: 10px 0;
}

.faq summary{
  cursor: pointer;
  font-weight: 800;
  font-size: 14px;
  color: rgba(0,0,0,.9);
}

.faq p{
  margin: 10px 0 0;
  color: rgba(0,0,0,.75);
  line-height: 1.55;
  font-size: 14px;
}

/* CTA final */
.cta-final{
  margin-top: 16px;
  text-align: center;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}

.cta-final h3{
  margin: 0 0 6px;
  font-size: 16px;
}

.cta-final p{
  margin: 0 0 12px;
  color: rgba(0,0,0,.75);
  font-size: 14px;
  line-height: 1.5;
}

/* Responsive */
@media (min-width: 700px){
  .hero-trust{ grid-template-columns: 1fr 1fr; }
  .media-grid{ grid-template-columns: 1fr 1fr 1fr; }
  .steps-grid{ grid-template-columns: 1fr 1fr; }
  .cards-3{ grid-template-columns: 1fr 1fr 1fr; }
  .list-cards{ grid-template-columns: 1fr 1fr; }
  .cta-band{
    grid-template-columns: 2fr 1fr;
    align-items: center;
  }
}
