/*
 * Featured Properties homepage section.
 * The root element also carries the .pol class (see class-pol-featured.php),
 * so every card inside this section is styled by the SAME .pol-card rules
 * in pol.css as the off-plan listing page — nothing here re-styles cards,
 * only the heading/"View All"/carousel chrome around them.
 */
.polf .polf-wrap{
  max-width:1920px;
  margin:0 auto;
  padding:clamp(30px,3.6vw,64px) 3.3vw;
}

/* ---------- Heading + View All (the only text in this section) ---------- */
.polf .polf-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:0 0 clamp(20px,2.2vw,32px);
}
.polf .polf-heading{
  margin:0;
  font-family:inherit;
  font-size:clamp(24px,2.4vw,36px);
  font-weight:700;
  line-height:1.2;
  color:var(--pol-navy);
}
.polf .polf-viewall{
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:700;
  color:var(--pol-navy);
  white-space:nowrap;
}
.polf .polf-viewall:hover{text-decoration:underline}
.polf .polf-arrow{font-size:17px;line-height:1}

/* ---------- Carousel ---------- */
.polf .polf-carousel{position:relative;display:flex;align-items:center;gap:12px}
.polf .polf-track{
  flex:1;
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:2px 2px 6px;
  min-height:200px;
}
.polf .polf-track::-webkit-scrollbar{display:none}
.polf .polf-track{scrollbar-width:none}
.polf .polf-item{
  flex:0 0 calc(33.333% - 16px);
  min-width:0;
  scroll-snap-align:start;
  display:flex; /* stretch the single .pol-card child to a uniform height */
}
.polf .polf-item > .pol-card{
  width:100%;
  display:flex;
  flex-direction:column;
}
/* Keep the Discover button pinned to the same baseline even when a card's
   title/facts run shorter than its siblings (scoped to .polf only). */
.polf .polf-item > .pol-card .pol-body{flex:1;display:flex;flex-direction:column}
.polf .polf-item > .pol-card .pol-actions{margin-top:auto}

.polf .polf-nav{
  flex:none;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid var(--pol-border);
  background:#fff;
  color:var(--pol-navy);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
}
.polf .polf-nav:hover{border-color:var(--pol-navy)}
.polf .polf-nav:focus-visible{outline:2px solid var(--pol-navy);outline-offset:2px}

.polf .polf-status{text-align:center;color:#666;font-size:15px;padding:16px 0 0}

/* ---------- Responsive: 3 desktop / 2 tablet / 1 (small peek) mobile ---------- */
@media (max-width:1024px){
  .polf .polf-item{flex-basis:calc(50% - 12px)}
  .polf .polf-wrap{padding-left:24px;padding-right:24px}
}
@media (max-width:640px){
  .polf .polf-wrap{padding:32px 16px 40px}
  .polf .polf-heading{font-size:22px}
  .polf .polf-viewall{font-size:14px}
  .polf .polf-track{gap:12px}
  .polf .polf-item{flex-basis:88%}
  .polf .polf-carousel{gap:8px}
  .polf .polf-nav{width:36px;height:36px;font-size:18px}
}
@media (max-width:400px){
  .polf .polf-item{flex-basis:92%}
}
