/* Availability page — listing-style layout inspired by rfrspace.com */

.avail-body{
  background:#ffffff;
}

.avail-page{
  font-family: Georgia, 'Times New Roman', Times, serif;
  color:#1a1a1a;
  max-width:1200px;
  margin:0 auto;
  padding:3rem 2rem 5rem;
}

/* ---------- Header ---------- */
.avail-header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  flex-wrap:wrap;
  border-bottom:1px solid #999;
  padding-bottom:0.6rem;
  margin-bottom:2.6rem;
}
.avail-logo{
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-weight:700;
  font-size:clamp(1.9rem, 4vw, 2.6rem);
  color:#111;
  text-decoration:none;
  line-height:1;
}
.avail-logo:hover{
  opacity:0.75;
}
.avail-home{
  font-size:1rem;
  color:#1a1a1a;
  text-decoration:underline;
}
.avail-home:hover{
  color:#555;
}

/* ---------- Main two-column layout ---------- */
.avail-main{
  display:grid;
  grid-template-columns:minmax(260px, 380px) 1fr;
  gap:3.5rem;
}
.avail-main--second{
  border-top:1px solid #999;
  padding-top:2.6rem;
  margin-top:2.6rem;
}

.avail-title{
  font-size:clamp(1.8rem, 3.4vw, 2.3rem);
  font-weight:700;
  margin-bottom:0.5rem;
}
.avail-location{
  font-size:1.05rem;
  color:#333;
  margin-bottom:2rem;
}

.avail-icons{
  display:flex;
  gap:0.7rem;
  margin-bottom:2.2rem;
}
.avail-icon{
  width:40px;
  height:40px;
  background:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity 0.2s ease;
}
.avail-icon svg{
  width:20px;
  height:20px;
}
.avail-icon:hover{
  opacity:0.7;
}

.avail-contact{
  border-top:1px solid #ccc;
  padding-top:1.2rem;
}
.avail-contact-name{
  font-weight:700;
  font-size:1rem;
  margin-bottom:0.3rem;
}
.avail-contact-line{
  display:block;
  font-size:0.98rem;
  color:#1a1a1a;
  text-decoration:none;
  line-height:1.5;
}
.avail-contact-email:hover{
  color:#555;
}

/* ---------- Table ---------- */
.avail-table-wrap{
  overflow-x:auto;
}
.avail-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
}
.avail-table th{
  text-align:left;
  font-weight:700;
  font-size:1rem;
  padding:0 1.2rem 0.9rem 0;
  border-bottom:1px solid #999;
  white-space:nowrap;
}
.avail-table th:first-child,
.avail-table td:first-child{
  padding-left:0;
}
.avail-table td{
  padding:1.1rem 1.2rem 1.1rem 0;
  font-size:1.02rem;
  border-bottom:1px solid #ddd;
  white-space:nowrap;
}
.avail-table td a{
  color:#1a1a1a;
  text-decoration:underline;
}
.avail-table td a:hover{
  color:#777;
}
.avail-table-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
}
.avail-table-icon svg{
  width:20px;
  height:20px;
}
.avail-table-icon:hover svg path,
.avail-table-icon:hover svg circle{
  opacity:0.6;
}
.avail-table-icon--disabled{
  cursor:default;
  opacity:0.3;
}
.avail-table-icon--disabled:hover svg path,
.avail-table-icon--disabled:hover svg circle{
  opacity:1;
}

.avail-note{
  margin-top:2rem;
  font-size:0.95rem;
  color:#555;
  font-style:italic;
}

/* ---------- Responsive ---------- */
@media (max-width:760px){
  .avail-main{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .avail-page{
    padding:2.2rem 1.4rem 4rem;
  }
}

/* ---------- Photo lightbox ---------- */
.avail-icon{
  cursor:pointer;
  border:none;
}

.lightbox{
  position:fixed;
  inset:0;
  z-index:100;
  background:rgba(60,60,60,0.55);
  display:flex;
  align-items:center;
  justify-content:center;
}
.lightbox[hidden]{
  display:none;
}

.lightbox-frame{
  max-width:66vw;
  max-height:64vh;
  pointer-events:none;
}
.lightbox-frame img{
  display:block;
  max-width:66vw;
  max-height:64vh;
  width:auto;
  height:auto;
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
}

.lightbox-close{
  position:absolute;
  top:1.5rem;
  right:1.8rem;
  z-index:3;
  background:none;
  border:none;
  color:#fff;
  font-family:Georgia, serif;
  font-size:2.2rem;
  line-height:1;
  cursor:pointer;
  opacity:0.85;
  text-shadow:0 1px 4px rgba(0,0,0,0.45);
}
.lightbox-close:hover{
  opacity:1;
}

.lightbox-zone{
  position:absolute;
  top:0;
  bottom:0;
  width:18%;
  min-width:64px;
  background:none;
  border:none;
  display:flex;
  align-items:center;
  cursor:pointer;
  z-index:2;
}
.lightbox-zone-left{
  left:0;
  justify-content:flex-start;
  padding-left:1.2rem;
}
.lightbox-zone-right{
  right:0;
  justify-content:flex-end;
  padding-right:1.2rem;
}
.lightbox-arrow{
  color:#fff;
  font-family:Georgia, serif;
  font-size:2.4rem;
  opacity:0;
  text-shadow:0 1px 4px rgba(0,0,0,0.45);
  transition:opacity 0.25s ease;
}
.lightbox-zone:hover .lightbox-arrow{
  opacity:0.9;
}

@media (max-width:700px){
  .lightbox-zone{
    width:22%;
  }
  .lightbox-arrow{
    font-size:1.9rem;
  }
  .lightbox-close{
    top:1rem;
    right:1.2rem;
    font-size:1.9rem;
  }
}
