/* =====================================================
   PROPERTY MODULE — extends assets/style.css
   Link this file AFTER style.css on property pages
===================================================== */

/* Category tiles (homepage + properties hub) */
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:860px){.category-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.category-grid{grid-template-columns:1fr;}}
.category-tile{
  position:relative;border-radius:var(--r-lg);overflow:hidden;height:200px;
  display:flex;align-items:flex-end;box-shadow:0 10px 28px rgba(11,31,63,.10);
  transition:transform .3s ease, box-shadow .3s ease;
}
.category-tile:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(11,31,63,.16);}
.category-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.category-tile:hover img{transform:scale(1.07);}
.category-tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(7,18,35,0) 30%, rgba(7,18,35,.78));
}
.category-tile-content{position:relative;z-index:1;padding:20px;display:flex;align-items:center;gap:12px;width:100%;}
.category-tile-content .icon-badge{
  width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.15);
  backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;flex-shrink:0;
  border:1px solid rgba(255,255,255,.25);
}
.category-tile-content .icon-badge svg{width:22px;height:22px;stroke:#fff;}
.category-tile-content h3{color:#fff;font-size:1.15rem;margin:0;}
.category-tile-content .count{color:#c3cee8;font-size:.78rem;margin-top:2px;}

/* Property cards */
.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:900px){.property-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.property-grid{grid-template-columns:1fr;}}
.property-card{overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;}
.property-card:hover{transform:translateY(-6px);}
.property-card .thumb{height:200px;position:relative;overflow:hidden;}
.property-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.property-card:hover .thumb img{transform:scale(1.06);}
.property-card .cat-tag{
  position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);
  padding:5px 12px;border-radius:999px;font-size:.7rem;font-weight:600;color:var(--navy);
}
.status-badge{padding:5px 12px;border-radius:999px;font-size:.7rem;font-weight:600;position:absolute;top:14px;right:14px;}
.badge-available{background:#e8f8ee;color:#1c7c3f;}
.badge-sold{background:#fdeaea;color:#dc2f2f;}
.badge-hold{background:#fff6e0;color:#a8760d;}
.property-card .body{padding:22px;flex:1;display:flex;flex-direction:column;}
.property-card h3{font-size:1.05rem;margin-bottom:6px;}
.property-card .loc{font-size:.82rem;color:var(--slate-light);display:flex;align-items:center;gap:5px;margin-bottom:14px;}
.property-card .loc svg{width:14px;height:14px;stroke:var(--blue);flex-shrink:0;}
.property-card .price-row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid #eef2fb;}
.property-card .price{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--blue);font-size:1.05rem;}
.property-card .area{font-size:.76rem;color:var(--slate-light);}

/* Property detail page */
.property-hero-gallery{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10;position:relative;box-shadow:0 20px 44px rgba(11,31,63,.14);}
.property-hero-gallery img{width:100%;height:100%;object-fit:cover;}
.property-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;margin-top:12px;}
.property-thumbs .pt{border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:pointer;border:2px solid transparent;opacity:.7;transition:opacity .2s,border-color .2s;}
.property-thumbs .pt.active{opacity:1;border-color:var(--blue);}
.property-thumbs .pt img{width:100%;height:100%;object-fit:cover;}

.property-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0;}
@media(max-width:560px){.property-specs{grid-template-columns:1fr 1fr;}}
.spec-item{padding:16px;text-align:center;}
.spec-item .val{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--navy);font-size:1rem;}
.spec-item .lbl{font-size:.72rem;color:var(--slate-light);margin-top:4px;}

.enquiry-sidebar{position:sticky;top:100px;padding:30px;}
.enquiry-sidebar h3{font-size:1.15rem;margin-bottom:6px;}
.enquiry-sidebar .price-big{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--blue);font-size:1.6rem;margin:10px 0 20px;}
.enquiry-sidebar .field{margin-bottom:14px;}
.enquiry-sidebar label{font-size:.8rem;font-weight:600;color:var(--navy);display:block;margin-bottom:6px;}
.enquiry-sidebar input, .enquiry-sidebar textarea{
  width:100%;padding:12px 14px;border-radius:12px;border:1px solid #e2e8f5;
  background:var(--ice);font-family:'Inter',sans-serif;font-size:.88rem;color:var(--navy);
}
.enquiry-sidebar textarea{min-height:80px;resize:vertical;}
.no-results{text-align:center;padding:60px 20px;color:var(--slate-light);}
