/* Cartes projets de l'espace pro — densité et actions premium.
   Ces règles restent purement visuelles : les états et formulaires métier ne changent pas. */

.pro-app .project-list,
.chantiers-page-list{
  grid-template-columns:repeat(auto-fit,minmax(228px,1fr));
  gap:12px;
}

.pro-app .project-feed-card,
.chantiers-page-list .chantier-vignette{
  min-height:210px;
  padding:13px;
  border-width:1px;
  border-radius:20px;
  box-shadow:0 10px 25px rgba(16,42,58,.065);
}

.pro-app .project-feed-card:before,
.chantiers-page-list .chantier-vignette:before{
  right:-42px;
  top:-46px;
  width:106px;
  height:106px;
}

.pro-app .project-feed-card:hover,
.chantiers-page-list .chantier-vignette:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(16,42,58,.11);
}

.pro-app .project-card-top,
.chantiers-page-list .project-card-top{
  grid-template-columns:38px minmax(0,1fr);
  gap:9px;
  margin-bottom:8px;
}

.pro-app .project-card-icon,
.chantiers-page-list .project-card-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  font-size:18px;
}

.pro-app .project-card-title span,
.chantiers-page-list .project-card-title span{
  margin:0 0 2px;
  font-size:9.5px;
  letter-spacing:.06em;
}

.pro-app .project-feed-card h3,
.chantiers-page-list .chantier-vignette h3{
  font-size:14.5px;
  line-height:1.22;
}

.pro-app .project-feed-card .meta,
.chantiers-page-list .chantier-vignette .meta{
  gap:4px;
  margin-bottom:7px;
}

.pro-app .project-feed-card .tag,
.chantiers-page-list .chantier-vignette .tag{
  padding:4px 6px;
  font-size:9.8px;
}

.pro-app .project-feed-card .desc,
.chantiers-page-list .chantier-vignette .desc{
  margin-bottom:8px;
  font-size:11.8px;
  line-height:1.4;
  -webkit-line-clamp:2;
}

.pro-app .project-card-state,
.chantiers-page-list .project-card-state{
  gap:7px;
  margin-bottom:8px;
  padding:6px 8px;
  border-radius:11px;
}

.pro-app .project-card-state span,
.chantiers-page-list .project-card-state span{
  font-size:8.8px;
}

.pro-app .project-card-state b,
.chantiers-page-list .project-card-state b{
  font-size:11px;
  line-height:1.2;
}

/* États prêts pour le branchement de la liste d'attente.
   Les classes sont visuelles et n'imposent aucun état au serveur. */
.project-card-state.is-waiting{
  border-color:#c9dbe4;
  background:#f4f8fa;
}

.project-card-state.is-waiting b{
  color:#42687d;
}

.project-card-state.is-invited{
  border-color:#a9ddc4;
  background:linear-gradient(135deg,#eefaf4,#fff);
  box-shadow:inset 3px 0 0 #31a66a;
}

.project-card-state.is-invited b{
  color:#237a4b;
}

.pro-app .project-card-foot,
.chantiers-page-list .project-card-foot{
  gap:8px;
  padding-top:9px;
}

.pro-app .project-feed-card .price,
.chantiers-page-list .chantier-vignette .price{
  font-size:9.5px;
}

.pro-app .project-feed-card .price b,
.chantiers-page-list .chantier-vignette .price b{
  font-size:15.5px;
}

.pro-app .project-feed-card .lead-actions,
.chantiers-page-list .chantier-vignette .lead-actions{
  flex:1 1 0;
  min-width:0;
  flex-direction:column;
  align-items:flex-end;
}

.pro-app .project-feed-card .lead-actions .btn,
.pro-app .project-feed-card .project-interest-form .btn,
.chantiers-page-list .chantier-vignette .lead-actions .btn,
.chantiers-page-list .chantier-vignette .project-interest-form .btn{
  min-height:34px;
  padding:7px 11px;
  border-radius:10px;
  gap:6px;
  font-size:11.5px;
  line-height:1.15;
  box-shadow:0 6px 14px rgba(16,42,58,.08);
}

.pro-app .project-feed-card .lead-actions .btn-primary,
.pro-app .project-feed-card .project-interest-form .btn-primary,
.chantiers-page-list .chantier-vignette .lead-actions .btn-primary,
.chantiers-page-list .chantier-vignette .project-interest-form .btn-primary{
  box-shadow:0 7px 16px rgba(226,97,58,.2);
}

.pro-app .project-interest-form,
.chantiers-page-list .project-interest-form{
  width:100%;
  gap:5px;
}

.pro-app .project-interest-form .lead-contact-hint,
.chantiers-page-list .project-interest-form .lead-contact-hint{
  width:100%;
  max-width:none;
  gap:5px;
  font-size:9.7px;
  line-height:1.3;
}

.pro-app .project-interest-form .lead-contact-hint span,
.chantiers-page-list .project-interest-form .lead-contact-hint span{
  flex-basis:15px;
  width:15px;
  height:15px;
  font-size:9px;
}

.pro-app .project-card-top.has-project-photos .project-card-title,
.chantiers-page-list .project-card-top.has-project-photos .project-card-title{
  padding-right:42px;
}

.pro-app .project-photo-trigger,
.chantiers-page-list .project-photo-trigger{
  min-width:36px;
  height:36px;
  padding:0 7px;
  border-radius:11px;
  gap:4px;
  font-size:10.5px;
  box-shadow:0 7px 16px rgba(16,42,58,.17);
}

.pro-app .project-photo-trigger svg,
.chantiers-page-list .project-photo-trigger svg{
  width:16px;
  height:16px;
}

/* Détail projet : choix et états compacts, sans modifier le parcours sécurisé. */
.lead-buy-options{
  gap:10px;
  margin-top:12px;
}

.lead-buy-card{
  gap:9px;
  padding:14px;
  border-width:1px;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(8,38,65,.055);
}

.lead-buy-card h3{
  font-size:16px;
  line-height:1.25;
}

.lead-buy-card p{
  font-size:12.3px;
  line-height:1.4;
}

.lead-buy-price strong{
  font-size:22px;
}

.lead-buy-price span{
  font-size:11px;
}

.lead-payment-choice{
  gap:6px;
}

.lead-payment-choice label{
  min-height:34px;
  gap:7px;
  padding:7px 9px;
  border-radius:11px;
  font-size:11.8px;
}

.lead-payment-choice small{
  margin-left:23px;
  font-size:10.5px;
}

.lead-buy-card .btn,
.lead-contact-flow-actions .btn,
#lead-commitment-options .btn,
#legacy-payment-options .btn{
  width:auto;
  min-height:38px;
  justify-content:center;
  padding:8px 14px;
  border-radius:11px;
  font-size:12.3px;
  line-height:1.15;
  box-shadow:0 7px 17px rgba(16,42,58,.08);
}

.lead-buy-card .btn{
  justify-self:start;
}

.lead-contact-flow{
  gap:11px;
  padding:11px 12px;
  border-width:1px;
  border-radius:16px;
  box-shadow:0 9px 22px rgba(8,38,65,.055);
}

.lead-contact-flow-copy{
  gap:3px;
}

.lead-contact-flow-copy span{
  font-size:9.8px;
}

.lead-contact-flow-copy b{
  font-size:14.5px;
}

.lead-contact-flow-copy small{
  font-size:11.8px;
  line-height:1.35;
}

.lead-contact-flow-actions{
  gap:5px;
}

.lead-contact-flow-actions .lead-contact-hint{
  max-width:255px;
  font-size:10.5px;
}

.lead-waitlist-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0;
  padding:11px 12px;
  border:1px solid #c9dbe4;
  border-radius:16px;
  background:linear-gradient(135deg,#f7fafb,#fff);
  box-shadow:0 9px 22px rgba(8,38,65,.05);
}

.lead-waitlist-panel.is-invited{
  border-color:#a9ddc4;
  background:linear-gradient(135deg,#eefaf4,#fff);
}

.lead-waitlist-copy{
  display:grid;
  gap:3px;
  min-width:0;
}

.lead-waitlist-badge{
  width:max-content;
  max-width:100%;
  padding:4px 8px;
  border-radius:999px;
  background:#e8f0f4;
  color:#42687d;
  font-size:9.8px;
  font-weight:900;
  line-height:1.15;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.lead-waitlist-panel.is-invited .lead-waitlist-badge{
  background:#daf3e5;
  color:#237a4b;
}

.lead-waitlist-copy b{
  color:var(--ocean);
  font-size:14.5px;
}

.lead-waitlist-copy small{
  color:#5d6974;
  font-size:11.8px;
  line-height:1.35;
}

.lead-waitlist-position,
.lead-waitlist-deadline{
  font-weight:850;
  color:#42687d;
}

.lead-waitlist-panel.is-invited .lead-waitlist-deadline{
  color:#237a4b;
}

.lead-waitlist-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex:0 0 auto;
}

.lead-waitlist-actions form{
  margin:0;
}

.lead-waitlist-actions .btn,
.project-waitlist-action.btn{
  width:auto;
  min-height:36px;
  padding:7px 12px;
  border-radius:11px;
  font-size:11.8px;
  line-height:1.15;
  box-shadow:0 6px 15px rgba(16,42,58,.075);
}

.lead-buy-card .btn:focus-visible,
.lead-contact-flow-actions .btn:focus-visible,
.pro-app .project-feed-card .btn:focus-visible,
.chantiers-page-list .chantier-vignette .btn:focus-visible{
  outline:3px solid rgba(20,153,192,.25);
  outline-offset:2px;
}

@media(max-width:760px){
  .pro-app .project-list,
  .chantiers-page-list{
    grid-template-columns:1fr;
    gap:11px;
  }

  .pro-app .project-feed-card,
  .chantiers-page-list .chantier-vignette{
    min-height:0;
  }

  .pro-app .project-card-foot,
  .chantiers-page-list .project-card-foot{
    display:flex;
    align-items:flex-end;
  }

  .pro-app .project-feed-card .lead-actions,
  .pro-app .project-interest-form,
  .chantiers-page-list .chantier-vignette .lead-actions,
  .chantiers-page-list .project-interest-form{
    width:100%;
    margin-top:0;
    justify-items:end;
  }

  .pro-app .project-feed-card .lead-actions .btn,
  .pro-app .project-feed-card .project-interest-form .btn,
  .chantiers-page-list .chantier-vignette .lead-actions .btn,
  .chantiers-page-list .chantier-vignette .project-interest-form .btn{
    width:auto;
    min-height:40px;
    padding:8px 12px;
  }

  .lead-contact-flow-actions,
  .lead-contact-flow-actions form{
    width:100%;
    justify-items:start;
  }

  .lead-contact-flow-actions .btn,
  .lead-buy-card .btn,
  #lead-commitment-options .btn,
  #legacy-payment-options .btn{
    width:auto;
    min-height:40px;
    white-space:normal;
  }

  .lead-waitlist-panel{
    display:grid;
  }

  .lead-waitlist-actions{
    justify-content:flex-start;
    flex-wrap:wrap;
  }

  .lead-waitlist-actions .btn,
  .project-waitlist-action.btn{
    min-height:40px;
    white-space:normal;
  }
}

@media(max-width:420px){
  .pro-app .project-card-foot,
  .chantiers-page-list .project-card-foot{
    display:grid;
    grid-template-columns:1fr;
  }

  .pro-app .project-feed-card .lead-actions,
  .pro-app .project-interest-form,
  .chantiers-page-list .chantier-vignette .lead-actions,
  .chantiers-page-list .project-interest-form{
    justify-items:start;
    align-items:flex-start;
  }

  .pro-app .project-interest-form .lead-contact-hint,
  .chantiers-page-list .project-interest-form .lead-contact-hint{
    max-width:none;
  }
}

@media(prefers-reduced-motion:reduce){
  .pro-app .project-feed-card,
  .chantiers-page-list .chantier-vignette{
    transition:none;
  }

  .pro-app .project-feed-card:hover,
  .chantiers-page-list .chantier-vignette:hover{
    transform:none;
  }
}
