/* ============================================================
   Kinnisvara (single listing view)  ·  minimal, token-based
   ============================================================ */
.view-property .details{background:var(--surface);border:1px solid var(--hair);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:2.4rem;overflow-x:hidden;}
.view-property .details .name{font-size:2.2rem;font-weight:700;color:var(--fg);margin-bottom:.5rem;padding-top:1.5rem;}
.view-property .details .location{padding-top:1rem;font-size:1.5rem;color:var(--muted);}
.view-property .details .location .regularicon{margin-right:1rem;color:var(--accent);}

.view-property .details .info{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.6rem;padding:1.6rem;background:var(--surface-2);border-radius:var(--radius);margin:1.6rem 0;}
.view-property .details .info p{font-size:1.5rem;color:var(--fg);}
.view-property .details .info p a,.view-property .details .info p span{color:var(--muted);}
.view-property .details .info p a:hover{text-decoration:underline;}
.view-property .details .info p i{margin-right:1.2rem;color:var(--accent);}

.gridbox{margin:.5rem 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.kinnisvara-lisad{background:var(--surface-2);padding:.85rem 1.1rem;border-radius:var(--radius);font-size:1.4rem;color:var(--fg);line-height:1;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kinnisvara-lisad span::before{content:"✓ ";color:var(--accent);margin-right:.5rem;}

.view-property .details .title{font-size:1.9rem;font-weight:700;color:var(--fg);padding-bottom:1.2rem;margin-top:1rem;border-bottom:1px solid var(--hair);}
.view-property .details .flex{margin:1.5rem 0;display:flex;justify-content:space-between;flex-wrap:wrap;}
.view-property .details .flex .box{flex:1 1 40rem;}
.view-property .details .flex .box p{padding:.5rem 0;font-size:1.5rem;color:var(--muted);}
.view-property .details .flex .box p span{color:var(--fg);font-weight:500;}
.view-property .details .flex .box i{color:var(--accent);margin-right:1.2rem;}
.view-property .details .description{padding-top:1rem;margin:.5rem 0;font-size:1.5rem;color:var(--muted);line-height:1.9;}
.heading-container{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0 2rem;}
.heading-mainpage{margin:0;font-size:2.2rem;font-weight:800;letter-spacing:-.01em;line-height:1.1;color:var(--fg);}

/* ---------- Image gallery ---------- */
.image-gallery{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:100%;padding:1rem;}
.main-image-container{position:relative;width:100%;max-width:64rem;cursor:pointer;aspect-ratio:3/2;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface-2);display:flex;align-items:center;justify-content:center;}
.main-image-container img{width:100%;height:100%;object-fit:cover;}
.thumbnails{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.thumbnails img{width:8rem;height:5rem;object-fit:cover;cursor:pointer;border-radius:var(--radius);border:1px solid var(--hair);transition:border-color .15s ease,box-shadow .15s ease;}
.thumbnails img.selected,.thumbnails img:hover{border-color:var(--accent);box-shadow:0 0 0 3px rgba(150,6,6,.18);}

/* ---------- Lightbox ---------- */
.lightbox-overlay{position:fixed;inset:0;background:rgba(15,17,22,.9);display:none;justify-content:center;align-items:center;z-index:1000;opacity:0;transition:opacity .3s ease;}
.lightbox-overlay.visible{display:flex;opacity:1;}
#lightboxImage{max-width:90%;max-height:85%;object-fit:contain;display:block;border-radius:var(--radius);box-shadow:0 0 40px rgba(0,0,0,.5);}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:none;color:#fff;cursor:pointer;font-size:4rem;padding:.5rem 1rem;line-height:1;opacity:.8;transition:opacity .2s ease;z-index:1001;}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{opacity:1;}
.lightbox-close{top:1.5rem;right:2.5rem;font-size:3rem;}
.lightbox-prev{top:50%;left:2rem;transform:translateY(-50%);}
.lightbox-next{top:50%;right:2rem;transform:translateY(-50%);}
.lightbox-overlay[data-single-image="true"] .lightbox-prev,.lightbox-overlay[data-single-image="true"] .lightbox-next{display:none;}
.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible{outline:2px solid #fff;opacity:1;}
body.lightbox-open{overflow:hidden;}

/* ---------- Save / share ---------- */
.view-property .details .save{width:100%;background:transparent;border:1px solid var(--hair);border-radius:var(--radius);cursor:pointer;padding:1.2rem 2rem;font-size:1.5rem;font-weight:600;color:var(--muted);transition:background-color .15s ease,color .15s ease,border-color .15s ease;}
.view-property .details .save:hover,.view-property .details .save:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff;}
.view-property .details .save .regularicon{margin-right:1rem;color:var(--accent);vertical-align:middle;}
.view-property .details .save:hover .regularicon,.view-property .details .save:focus-visible .regularicon{filter:brightness(0) invert(1);}

#openShareModal{font-size:1.5rem;padding:.6rem 1rem;background:transparent;border:1px solid var(--hair);border-radius:var(--radius);color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;transition:background-color .15s ease,color .15s ease;}
#openShareModal:hover,#openShareModal:focus-visible{background:var(--fg);color:#fff;}
#openShareModal:hover .regularicon,#openShareModal:focus-visible .regularicon{filter:brightness(0) invert(1);}

.heading{font-size:2.3rem;}
#thebigprice{color:var(--fg);}
#pricespan{font-weight:800;}
#carpetspan,#krundispan{font-size:1.3rem;font-weight:400;color:var(--muted);}
#infoparagraph{text-transform:capitalize;}
#kuttesusteemspan{text-transform:lowercase;}

.share-modal{text-align:center;font-size:1.5rem;line-height:1.8;}
.share-modal-icons{margin:1.5rem 0;display:flex;justify-content:center;gap:1rem;}
.share-modal-icons a svg{width:4rem;height:4rem;transition:opacity .2s ease;}
.share-modal-icons a svg:hover{opacity:.8;}
.share-modal-input{margin-top:1.5rem;}
.share-modal-input input{width:80%;padding:1rem;border:1px solid var(--hair);border-radius:var(--radius);text-align:center;font-size:1.4rem;color:var(--fg);}
.copy-link-btn{margin-top:1rem;padding:.8rem 1.8rem;background:var(--fg);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-weight:600;transition:background-color .2s ease;}
.copy-link-btn:hover{background:var(--accent);}
.kinnisvara-umbrus span,.kinnisvara-lisad span,.kinnisvara-peamine span{text-transform:lowercase;}

@media (max-width:1100px){ .gridbox{grid-template-columns:repeat(3,1fr);} }
@media (max-width:900px){ .gridbox{grid-template-columns:repeat(2,1fr);} }
@media (max-width:768px){ .thumbnails img{width:6rem;height:3.8rem;} }
@media (max-width:580px){
  .view-property .details .info{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.2rem;}
}
@media (max-width:480px){
  .main-image-container{max-width:100%;}
  .thumbnails img{width:5rem;height:3.1rem;}
  .view-property .details .info p{font-size:1.4rem;word-wrap:break-word;}
}
