/* ============================================================
   Avaleht (homepage)  ·  minimal, white canvas, one dark panel
   Uses the shared tokens from style.css. rem base = 10px.
   ============================================================ */

/* ---------- Hero ---------- */
.home-hero{max-width:96rem;margin:0 auto;padding:5rem 2rem 1rem;text-align:center;}
.hero-title{font-family:var(--font-display);font-size:4.8rem;line-height:1.04;font-weight:800;letter-spacing:-.03em;color:var(--fg);}
.hero-title .accent{color:inherit;}
.hero-sub{margin:1.6rem auto 0;max-width:56rem;font-size:1.7rem;line-height:1.55;color:var(--muted);}

/* ---------- Property type chips ---------- */
.type-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin:3rem auto 2.4rem;max-width:92rem;}
.property-type{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;
  min-width:9rem;padding:1.4rem 1.6rem;cursor:pointer;user-select:none;
  background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);color:var(--fg);
  transition:border-color .15s ease,transform .15s ease,background-color .15s ease;}
.property-type:hover,.property-type:focus-visible{border-color:var(--accent);transform:translateY(-2px);}
.property-type svg{width:2.6rem;height:2.6rem;display:block;color:inherit;}
.property-type p{font-size:1.3rem;font-weight:600;color:inherit;}
.property-type.selected{background:var(--accent);border-color:var(--accent);color:#fff;}
.property-type.selected p{color:#fff;}

/* ---------- Search panel (the dark box) ---------- */
.search-panel{max-width:92rem;margin:0 auto;background:var(--panel);border-radius:var(--radius-lg);
  padding:2.4rem;box-shadow:var(--shadow);}
.search-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;}
.field{display:flex;flex-direction:column;}
.field-label{text-align: left; margin-bottom:.7rem;font-size:1.3rem;font-weight:600;color:rgba(255,255,255,.62);}
.field-input{width:100%;padding:1.2rem 1.3rem;font-size:1.5rem;color:#fff;
  background:var(--panel-2);border:1px solid var(--panel-hair);border-radius:var(--radius);
  transition:border-color .15s ease,box-shadow .15s ease;}
.field-input::placeholder{color:rgba(255,255,255,.4);}
.field-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(150,6,6,.35);transform:none;}
select.field-input{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1.2rem center;background-size:1.6rem;padding-right:3.6rem;}
.range-display{cursor:pointer;}

.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:1.6rem;
  padding-top:1.8rem;border-top:1px solid var(--panel-hair);}

/* ---------- Search actions ---------- */
.search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.8rem;}
.btn-ghost{padding:1.1rem 1.8rem;font-size:1.4rem;font-weight:600;color:rgba(255,255,255,.85);cursor:pointer;
  background:transparent;border:1px solid var(--panel-hair);border-radius:var(--radius);
  display:inline-flex;align-items:center;gap:.8rem;transition:background-color .15s ease,border-color .15s ease;}
.btn-ghost:hover,.btn-ghost:focus-visible{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.3);}
.btn-ghost svg{width:1.5rem;height:1.5rem;}
.btn-go{margin-left:auto;padding:1.2rem 2.6rem;font-size:1.5rem;font-weight:700;color:#fff;cursor:pointer;
  background:var(--accent);border:none;border-radius:var(--radius);
  display:inline-flex;align-items:center;gap:.8rem;transition:background-color .18s ease,transform .18s ease;}
.btn-go:hover,.btn-go:focus-visible{background:var(--accent-hover);transform:translateY(-1px);}
.btn-go svg{width:1.6rem;height:1.6rem;}

/* ---------- Range popovers (float over, light card) ---------- */
.range-popover{margin:auto;border:1px solid var(--hair);border-radius:var(--radius);background:var(--surface);
  width:34rem;max-width:90vw;padding:2rem;box-shadow:var(--shadow);}
.range-popover::backdrop{background:rgba(20,22,27,.5);}
.range-popover h4{font-size:1.7rem;font-weight:700;color:var(--fg);margin-bottom:1.4rem;}
.pop-group{margin-bottom:1.2rem;}
.pop-group label{display:block;font-size:1.3rem;font-weight:600;color:var(--muted);margin-bottom:.5rem;}
.pop-input{width:100%;padding:1rem 1.2rem;font-size:1.5rem;color:var(--fg);background:var(--surface);
  border:1px solid var(--hair);border-radius:var(--radius);}
.pop-input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(150,6,6,.14);}
.pop-actions{display:flex;gap:1rem;margin-top:1.6rem;}
.pop-clear{flex:1;padding:1rem;font-size:1.4rem;font-weight:600;color:var(--muted);cursor:pointer;
  background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius);transition:background-color .15s ease;}
.pop-clear:hover{background:var(--surface-2);}
.pop-apply{flex:1;padding:1rem;font-size:1.4rem;font-weight:700;color:#fff;cursor:pointer;
  background:var(--fg);border:none;border-radius:var(--radius);transition:background-color .15s ease;}
.pop-apply:hover{background:var(--accent);}

/* ---------- Quick links ---------- */
.quicklinks{max-width:128rem;margin:0 auto;padding:4rem 2rem;}
.ql-eyebrow{font-size:1.3rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:1.6rem;}
.ql-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.ql-card{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-lg);padding:2rem;
  transition:border-color .15s ease,transform .15s ease;}
.ql-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.ql-card .ql-title{font-size:1.3rem;font-weight:600;color:var(--dim);margin-bottom:1.2rem;}
.ql-chips{display:flex;flex-wrap:wrap;gap:.8rem;}
.ql-chips a{padding:.7rem 1.2rem;font-size:1.4rem;font-weight:500;color:var(--fg);background:var(--surface-2);
  border-radius:var(--radius);transition:background-color .15s ease,color .15s ease;}
.ql-chips a:hover{background:var(--fg);color:#fff;}
.ql-card.link{display:flex;align-items:center;justify-content:space-between;}
.ql-card.link span{font-size:1.8rem;font-weight:700;color:var(--fg);}
.ql-card.link svg{width:2rem;height:2rem;color:var(--accent);transition:transform .15s ease;}
.ql-card.link:hover svg{transform:translateX(4px);}

/* ---------- Listings ---------- */
.listings{max-width:128rem;margin:0 auto;padding:1rem 2rem 6rem;}
.listings-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.6rem;
  margin-bottom:2.4rem;padding-bottom:1.8rem;border-bottom:1px solid var(--hair);}
.listings-head h2{font-size:2.8rem;font-weight:800;letter-spacing:-.02em;color:var(--fg);}
.listings-head .eyebrow{font-size:1.3rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;}
.see-all{font-size:1.4rem;font-weight:600;color:var(--muted);white-space:nowrap;transition:color .15s ease;}
.see-all:hover{color:var(--accent);}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;}
.cards .full{grid-column:1/-1;text-align:center;padding:3rem 2rem;}
.cards .full .inline-btn{margin-left:1rem;}
.card{display:block;background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-lg);
  overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--hair-strong);}
.card-media{position:relative;aspect-ratio:16/10;background:var(--surface-2);overflow:hidden;}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.card:hover .card-media img{transform:scale(1.05);}
.card-media img.dim{opacity:.6;}
.badge{position:absolute;top:1rem;font-size:1.1rem;font-weight:700;padding:.4rem .9rem;border-radius:var(--radius-pill);}
.badge-vip{left:1rem;background:var(--fg);color:#fff;}
.badge-drop{right:1rem;background:var(--accent);color:#fff;}
.reserved-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(20,22,27,.45);}
.reserved-overlay span{background:rgba(255,255,255,.95);color:var(--fg);font-size:1.3rem;font-weight:700;padding:.7rem 1.4rem;border-radius:var(--radius);}
.card-body{padding:1.5rem;}
.card-title{font-size:1.4rem;font-weight:500;line-height:1.4;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.9rem;}
.card-price{margin-top:1.1rem;display:flex;align-items:baseline;gap:.8rem;}
.card-price .now{font-size:2.2rem;font-weight:800;letter-spacing:-.01em;color:var(--fg);}
.card-price .now.cut{color:var(--accent);}
.card-price .was{font-size:1.4rem;color:var(--dim);text-decoration:line-through;}

/* ---------- Responsive ---------- */
@media (max-width:1150px){
  .more-grid{grid-template-columns:repeat(2,1fr);}
  .ql-grid{grid-template-columns:repeat(2,1fr);}
  .cards{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:768px){
  .hero-title{font-size:3.4rem;}
  .search-grid{grid-template-columns:1fr;}
  .cards{grid-template-columns:repeat(2,1fr);}
  .btn-go{margin-left:0;width:100%;justify-content:center;}
  .search-actions{flex-direction:column;align-items:stretch;}
  .btn-ghost{justify-content:center;}
}
@media (max-width:480px){
  .hero-title{font-size:2.9rem;}
  .more-grid{grid-template-columns:1fr;}
  .ql-grid{grid-template-columns:1fr;}
  .cards{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){
  .property-type,.card,.card-media img,.ql-card,.btn-go,.btn-ghost{transition:none;}
}
