/* Même patron visuel que les cartes de #inj-properties sur la page d'accueil.
   Seul le composant Portfolio adopte ces règles. L'accueil ne change pas. */
.irp-portfolio .irp-card.p-card{
  cursor:pointer;
  position:relative;display:block;aspect-ratio:.9;min-width:0;
  border:0;border-radius:12px;overflow:hidden;box-shadow:none;
  background:#000000;padding:0;isolation:isolate;
}
.irp-portfolio .irp-card .irp-card-visual.p-image{
  position:absolute;inset:0;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:linear-gradient(135deg,#000000 0%,#000000 60%,#000000 100%);
}
.irp-portfolio .irp-card .irp-card-visual img{
  display:block;width:100%;height:100%;object-fit:cover;
}
.irp-portfolio .irp-card .irp-visual-mark{
  display:block;color:#C8A15D;text-align:center;
  font:600 clamp(22px,2.1vw,31px)/1.2 "Spline Sans",sans-serif;
  letter-spacing:.11em;max-width:90%;overflow-wrap:anywhere;
  padding:0 20px;opacity:.85;
}
.irp-portfolio .irp-card .irp-type{
  position:absolute;left:15px;top:19px;z-index:2;
  max-width:calc(100% - 84px);background:#fff;color:#000000;
  font:700 10px/1.3 "Plus Jakarta Sans",sans-serif;
  padding:8px 10px;border-radius:8px;letter-spacing:.035em;
}
.irp-portfolio .irp-save.p-save{
  position:absolute;right:18px;top:18px;z-index:3;
  display:grid;place-items:center;width:42px;height:42px;padding:0;
  background:#fff;border:0;border-radius:50%;cursor:pointer;color:#000;
  box-shadow:0 2px 8px #0001;
}
.irp-portfolio .irp-save svg{
  display:block;width:20px;height:20px;fill:none;
  stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;
}
.irp-portfolio .irp-save[aria-pressed="true"]{color:#C8A15D;}
.irp-portfolio .irp-save[aria-pressed="true"] svg{fill:#C8A15D33;}
.irp-portfolio .irp-card-overlay.p-overlay.irp-view{
  position:absolute;bottom:14px;left:14px;right:14px;z-index:2;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,max-content);
  gap:15px;align-items:center;
  width:auto;height:auto;min-height:91px;
  padding:18px;margin:0;border:0;border-radius:12px;
  background:#fff;color:#000;text-decoration:none;box-shadow:0 4px 12px #0001;
  text-align:left;cursor:pointer;font-family:"Plus Jakarta Sans",sans-serif;
}
.irp-portfolio .irp-card-overlay.p-overlay .irp-card-info.p-info{
  display:block;min-width:0;text-align:left;
}
.irp-portfolio .irp-card-overlay .irp-card-title{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;max-width:100%;margin:0 0 6px;
  font:600 13px/1.35 "Spline Sans",sans-serif;
  letter-spacing:0;color:#000;text-wrap:balance;
}
.irp-portfolio .irp-card-overlay .irp-card-location.p-area{
  display:block;margin:0;color:#000000;font-size:12px;line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.irp-portfolio .irp-card-overlay .irp-card-price.p-price-wrap{
  display:block;min-width:0;text-align:right;max-width:150px;
}
.irp-portfolio .irp-card-overlay .irp-price-value.p-price{
  display:block;color:#000;max-width:100%;margin:0 0 6px;
  font:700 15px/1.3 "Plus Jakarta Sans",sans-serif;white-space:normal;
  overflow-wrap:normal;
}
.irp-portfolio .irp-card-overlay .irp-price-label.p-price-label{
  display:block;color:#000000;font:400 11px/1.4 "Plus Jakarta Sans",sans-serif;
}
.irp-portfolio .irp-card:focus-within .irp-card-overlay,
.irp-portfolio .irp-card-overlay:hover{box-shadow:0 4px 20px #00000070;}
.irp-portfolio .irp-save:focus-visible,
.irp-portfolio .irp-card-overlay:focus-visible{
  outline:3px solid #C8A15D;outline-offset:-3px;
}
@media (min-width:1025px) and (max-width:1250px){
  .irp-portfolio .irp-card-overlay.p-overlay.irp-view{padding:13px;gap:8px;}
  .irp-portfolio .irp-card-overlay .irp-card-title{font-size:12px;}
  .irp-portfolio .irp-card-overlay .irp-price-value.p-price{font-size:13px;}
}
@media (max-width:480px){
  .irp-portfolio .irp-card.p-card{
  cursor:pointer;aspect-ratio:.95;}
  .irp-portfolio .irp-card-overlay.p-overlay.irp-view{padding:14px;gap:9px;}
  .irp-portfolio .irp-card-overlay .irp-price-value.p-price{font-size:14px;}
}

/* Layout du catalogue réutilisé dans les résultats du simulateur. */
.ire-simulator .irp-portfolio{max-width:none;margin:0;padding:0;color:inherit;font:inherit}
.ire-simulator .irp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ire-simulator .irp-card{min-width:0}
@media(max-width:900px){.ire-simulator .irp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:700px){.ire-simulator .irp-grid{grid-template-columns:1fr;gap:16px}}
.ire-simulator .irp-save{font:inherit}

/* Option « enregistrer l’annonce » retirée des cartes. */
.p-save,.irp-save{display:none!important}

/* Téléphone et tablette : le catalogue garde toute sa hauteur et 30 px d'air avant le pied de page. */
@media (max-width:1024px){
  .irp-portfolio{height:auto!important;max-height:none!important;margin-bottom:30px!important}
  .irp-portfolio .irp-grid{height:auto!important;max-height:none!important}
  .ire-simulator .irp-portfolio{margin-bottom:0!important}
}
