/* CalmStay – Property Browser */

.pb-hero{position:relative;height:72vh;min-height:480px;overflow:hidden;display:flex;align-items:flex-end;}
.pb-hero__img{position:absolute;inset:0;}
.pb-hero__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 7s ease;}
.pb-hero:hover .pb-hero__img img{transform:scale(1);}
.pb-hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,12,8,.88) 0%,rgba(15,12,8,.35) 50%,rgba(15,12,8,.05) 100%);}
.pb-hero__content{position:relative;z-index:2;width:100%;padding-bottom:48px;}
.pb-hero__eyebrow{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin:0 0 10px;}
.pb-hero__title{font-size:54px;font-weight:900;letter-spacing:-.03em;line-height:1.08;color:#fff;margin:0 0 12px;max-width:660px;text-shadow:0 2px 24px rgba(0,0,0,.3);}
.pb-hero__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.pb-hero__meta-item{font-size:14px;color:rgba(255,255,255,.78);font-weight:600;}
.pb-hero__meta-sep{color:rgba(255,255,255,.3);}
.pb-hero__cta{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border-radius:999px;background:var(--brand);color:#fff;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 6px 24px rgba(189,158,67,.38);transition:background .15s;}
.pb-hero__cta:hover{background:#a88930;}

.pb-controls{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:11px 0;}
.pb-controls__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.pb-controls__left{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.pb-controls__count{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;}
.pb-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border:1.5px solid var(--border-dark);border-radius:999px;font-size:13px;font-weight:700;color:var(--muted);background:var(--card);cursor:pointer;transition:all .15s;white-space:nowrap;font-family:var(--font);}
.pb-pill:hover,.pb-pill.is-active{border-color:var(--brand);color:var(--brand);}
.pb-pill.is-active{background:var(--brand);color:#fff;}
.pb-sort{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);}
.pb-sort select{border:1.5px solid var(--border-dark);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:700;color:var(--text);background:var(--card);font-family:var(--font);cursor:pointer;}

.pb-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:270px;gap:14px;padding:28px 0 60px;}

.pb-card{position:relative;border-radius:var(--radius);overflow:hidden;display:block;text-decoration:none;background:var(--surface);transition:box-shadow .25s,transform .25s;}
.pb-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.pb-card--feat{grid-column:span 2;grid-row:span 2;}
.pb-card--wide{grid-column:span 3;}
.pb-card--tall{grid-row:span 2;}
.pb-card__img{position:absolute;inset:0;background:var(--surface);}
.pb-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.4,0,.2,1);}
.pb-card:hover .pb-card__img img{transform:scale(1.07);}
.pb-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px;background:linear-gradient(135deg,#fdf8ee,#f0e0a0);}
.pb-card__gradient{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,12,8,.84) 0%,rgba(15,12,8,.15) 55%,transparent 100%);transition:opacity .25s;}
.pb-card:hover .pb-card__gradient{opacity:.95;}
.pb-card__price{position:absolute;top:14px;right:14px;background:rgba(15,12,8,.72);backdrop-filter:blur(6px);color:#fff;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:800;border:1px solid rgba(255,255,255,.15);}
.pb-card__super{position:absolute;top:14px;left:14px;background:var(--brand);color:#fff;font-size:10px;font-weight:800;padding:4px 10px;border-radius:999px;letter-spacing:.05em;text-transform:uppercase;}
.pb-card__body{position:absolute;bottom:0;left:0;right:0;padding:18px 18px 20px;}
.pb-card__type{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin-bottom:4px;}
.pb-card__title{font-size:17px;font-weight:800;color:#fff;line-height:1.25;margin-bottom:6px;letter-spacing:-.01em;}
.pb-card--feat .pb-card__title{font-size:26px;}
.pb-card--wide .pb-card__title{font-size:22px;}
.pb-card__meta{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.72);flex-wrap:wrap;}
.pb-card__chips{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;overflow:hidden;max-height:0;transition:max-height .3s ease;}
.pb-card:hover .pb-card__chips{max-height:40px;}
.pb-card__chip{background:rgba(255,255,255,.14);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.88);font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;}

.pb-load-more{text-align:center;padding:0 0 64px;}
.pb-load-more__btn{display:inline-flex;align-items:center;gap:10px;padding:14px 36px;border-radius:999px;border:2px solid var(--border-dark);background:var(--card);font-family:var(--font);font-size:15px;font-weight:800;color:var(--text);cursor:pointer;transition:all .18s;}
.pb-load-more__btn:hover{border-color:var(--brand);color:var(--brand);box-shadow:var(--shadow);}
.pb-load-more__btn.is-loading{opacity:.55;pointer-events:none;}
.pb-load-more__remaining{font-size:12px;font-weight:700;background:var(--surface);border-radius:999px;padding:2px 9px;color:var(--muted);}

@media(max-width:960px){
  .pb-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px;}
  .pb-card--feat{grid-column:span 2;grid-row:span 1;}
  .pb-card--wide{grid-column:span 2;}
  .pb-card--tall{grid-row:span 1;}
  .pb-hero__title{font-size:38px;}
}
@media(max-width:640px){
  .pb-hero{height:60vh;min-height:380px;}
  .pb-hero__title{font-size:28px;}
  .pb-grid{grid-template-columns:1fr;grid-auto-rows:260px;gap:10px;padding:20px 0 40px;}
  .pb-card--feat,.pb-card--wide,.pb-card--tall{grid-column:span 1;grid-row:span 1;}
  .pb-controls__left .pb-pill{display:none;}
}
