/* KASTOR — encarts de démonstration des visites panoramiques 360° */
.k360-demo {
  --k360-red: #a70d17;
  --k360-red-dark: #730a12;
  --k360-ink: #241f1f;
  --k360-muted: #716767;
  margin: 0 0 30px;
  padding: 22px;
  border: 1px solid rgba(167,13,23,.18);
  border-radius: 20px;
  background: linear-gradient(135deg,#fff 0%,#fff8f8 100%);
  box-shadow: 0 18px 46px rgba(67,17,21,.08);
}
.k360-demo__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.k360-demo__eyebrow {
  margin:0 0 5px;
  color:var(--k360-red);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.k360-demo__title {
  margin:0;
  color:var(--k360-ink);
  font-size:clamp(1.28rem,2vw,1.75rem);
  line-height:1.1;
}
.k360-demo__note {
  max-width:520px;
  margin:0;
  color:var(--k360-muted);
  font-size:.84rem;
  line-height:1.5;
  text-align:right;
}
.k360-demo__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.k360-demo__card {
  position:relative;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  min-height:112px;
  overflow:hidden;
  border:1px solid rgba(80,48,50,.12);
  border-radius:15px;
  background:#fff;
  color:inherit;
  text-decoration:none !important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.k360-demo__card:hover {
  transform:translateY(-3px);
  border-color:rgba(167,13,23,.34);
  box-shadow:0 14px 30px rgba(57,23,26,.10);
}
.k360-demo__media {
  position:relative;
  min-height:112px;
  overflow:hidden;
  background:#eee;
}
.k360-demo__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.k360-demo__card:hover .k360-demo__media img { transform:scale(1.04); }
.k360-demo__badge {
  position:absolute;
  left:8px;
  top:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  height:28px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(112,7,15,.94);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 5px 14px rgba(0,0,0,.18);
}
.k360-demo__body {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:14px 14px 14px 16px;
}
.k360-demo__body strong {
  display:block;
  color:var(--k360-ink);
  font-size:.96rem;
  line-height:1.25;
}
.k360-demo__location {
  margin-top:4px;
  color:var(--k360-muted);
  font-size:.76rem;
}
.k360-demo__action {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:11px;
  padding-top:9px;
  border-top:1px solid rgba(78,47,49,.10);
  color:var(--k360-red);
  font-size:.78rem;
  font-weight:800;
}
.k360-demo__action span:last-child { font-size:1rem; }
.k360-demo--home { margin:0 0 24px; }
.k360-demo--maisons { width:min(100%,1190px); margin:30px auto 20px; }
@media (max-width: 980px) {
  .k360-demo__head { align-items:flex-start; flex-direction:column; gap:8px; }
  .k360-demo__note { max-width:none; text-align:left; }
  .k360-demo__grid { grid-template-columns:1fr; }
  .k360-demo__card { grid-template-columns:140px minmax(0,1fr); }
}
@media (max-width: 560px) {
  .k360-demo { padding:15px; border-radius:16px; }
  .k360-demo__card { grid-template-columns:105px minmax(0,1fr); min-height:106px; }
  .k360-demo__media { min-height:106px; }
  .k360-demo__body { padding:12px; }
  .k360-demo__body strong { font-size:.9rem; }
  .k360-demo__action { margin-top:8px; padding-top:7px; }
}
