/* Noclegi — powtarzalne karty obiektów. */
.stay{background:var(--sand-100); padding:78px 0; border-block:1px solid var(--sand-200)}
.stay h2{font-size:clamp(30px,3.6vw,42px); margin-bottom:34px}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.card{background:var(--white); border:1px solid var(--sand-200); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s, transform .2s}
.card:hover{box-shadow:var(--shadow); transform:translateY(-2px)}
.card-body{padding:22px; display:flex; flex-direction:column; flex:1}
.card h3{font-size:22px; margin-bottom:6px}
.card .meta{font-family:var(--mono); font-size:12px; color:var(--brown-500); margin-bottom:12px}
.card p{font-size:15px; color:var(--brown-700)}
.card .price{
  margin-top:auto; padding-top:16px; border-top:1px solid var(--sand-200);
  display:flex; justify-content:space-between; align-items:center;
}
.card .price b{font-family:var(--mono); font-weight:500; font-size:18px; color:var(--blue-700)}
.card .price a{font-size:14px; font-weight:500; text-decoration:none}
.card .price a:hover{text-decoration:underline}

@media (max-width:1023px){
  .cards{grid-template-columns:1fr 1fr}
}

@media (max-width:719px){
  .cards{grid-template-columns:1fr}
}
