
/* ==========================================
   User fixes v3
   - facilities layout cleaner
   - kegiatan Makala section
   - floating consultant button refinement
   ========================================== */

/* ---------- Floating consultation button ---------- */
.consult-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:60;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:18px;
  background:linear-gradient(135deg,#b10817 0%,#8f0a16 100%);
  color:#fff;
  box-shadow:0 16px 38px rgba(111,10,22,.28);
  max-width:230px;
}
.consult-float:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 42px rgba(111,10,22,.34);
}
.consult-float__icon{
  width:54px;
  height:54px;
  border-radius:16px;
  background:#fff0f2;
  position:relative;
  flex:0 0 54px;
  display:grid;
  place-items:center;
}
.consult-float__avatar{
  width:28px;
  height:28px;
  position:relative;
}
.consult-float__avatar::before{
  content:"";
  position:absolute;
  left:50%;
  top:1px;
  transform:translateX(-50%);
  width:12px;
  height:12px;
  border-radius:50%;
  background:#8f0a16;
}
.consult-float__avatar::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:22px;
  height:12px;
  border-radius:14px 14px 6px 6px;
  background:#8f0a16;
}
.consult-float__wa{
  position:absolute;
  right:-5px;
  bottom:-5px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  padding:4px;
  box-shadow:0 4px 10px rgba(0,0,0,.18);
}
.consult-float__copy b{
  display:block;
  font-size:.84rem;
  line-height:1.2;
  color:#fff;
}

/* ---------- Facilities section cleaner ---------- */
#fasilitas .section-heading{
  margin-bottom:24px !important;
}
.facility-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) minmax(0,.85fr);
  grid-template-rows:255px 255px;
  gap:14px;
  align-items:stretch;
}
.facility-grid .facility-card{
  height:100%;
  min-height:0;
  box-shadow:0 10px 24px rgba(59,5,12,.05);
}
.facility-grid .facility-card:first-child{
  grid-row:1 / span 2;
}
.facility-grid .facility-card img,
.facility-more .facility-card img,
.activity-grid .activity-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.facility-grid .facility-card div,
.facility-more .facility-card div{
  position:absolute;
  left:18px;
  right:16px;
  bottom:15px;
}
.facility-more{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.facility-more .facility-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(59,5,12,.05);
  min-height:0;
}
.facility-more .facility-card:nth-child(1),
.facility-more .facility-card:nth-child(2),
.facility-more .facility-card:nth-child(3){
  grid-column:span 4;
  aspect-ratio:1.45;
}
.facility-more .facility-card:nth-child(4),
.facility-more .facility-card:nth-child(5),
.facility-more .facility-card:nth-child(6),
.facility-more .facility-card:nth-child(7){
  grid-column:span 3;
  aspect-ratio:1.08;
}
.facility-more .facility-card:nth-child(1) img{
  object-position:center 58%;
}
.facility-more .facility-card:nth-child(2) img{
  object-position:center 56%;
}
.facility-more .facility-card:nth-child(5) img{
  object-position:center 45%;
}
.facility-more .facility-card strong,
.activity-card strong{
  display:block;
}
.facility-more .facility-card span,
.activity-card span{
  display:block;
  color:#efdce0;
  font-size:.7rem;
  line-height:1.45;
}

/* ---------- Kegiatan Makala section ---------- */
.activity-section .section-heading{
  margin-bottom:24px !important;
}
.activity-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:14px;
}
.activity-card{
  position:relative;
  min-height:250px;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(59,5,12,.06);
  background:#e9e3e2;
}
.activity-card:first-child{
  grid-row:span 2;
  min-height:100%;
}
.activity-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:50%;
  background:linear-gradient(transparent,rgba(25,4,7,.82));
}
.activity-card div{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:16px;
  color:#fff;
}
.activity-card p{
  margin:0;
  font-size:.7rem;
  color:#efdce0;
  line-height:1.45;
}

/* spacing around inserted section */
.activity-section.section{
  padding-top:34px !important;
  padding-bottom:42px !important;
}

/* responsive */
@media(max-width:1050px){
  .facility-grid{
    grid-template-columns:1.18fr .82fr .82fr !important;
    grid-template-rows:225px 225px !important;
  }
  .facility-more .facility-card:nth-child(1),
  .facility-more .facility-card:nth-child(2),
  .facility-more .facility-card:nth-child(3){
    grid-column:span 6;
  }
  .facility-more .facility-card:nth-child(4),
  .facility-more .facility-card:nth-child(5),
  .facility-more .facility-card:nth-child(6),
  .facility-more .facility-card:nth-child(7){
    grid-column:span 4;
  }
  .activity-grid{
    grid-template-columns:1fr 1fr;
  }
  .activity-card:first-child{
    grid-column:1 / span 2;
    min-height:280px;
  }
}
@media(max-width:780px){
  .facility-grid{
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:260px 180px !important;
  }
  .facility-grid .facility-card:first-child{
    grid-column:1 / span 2;
    grid-row:1 !important;
  }
  .facility-grid .facility-card:nth-child(2){
    grid-column:1;
    grid-row:2;
  }
  .facility-grid .facility-card:nth-child(3){
    grid-column:2;
    grid-row:2;
  }
  .facility-more{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }
  .facility-more .facility-card{
    grid-column:auto !important;
    aspect-ratio:1.1 !important;
  }
  .activity-grid{
    grid-template-columns:1fr !important;
  }
  .activity-card,
  .activity-card:first-child{
    min-height:230px;
    grid-row:auto;
    grid-column:auto;
  }
  .consult-float{
    display:none;
  }
}
@media(max-width:520px){
  .facility-grid{
    grid-template-rows:225px 165px !important;
  }
  .activity-card,
  .activity-card:first-child{
    min-height:210px;
  }
}
