
.page-hero {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: #1a1a1a;
  background-size: cover;
  background-position: center;
  color: #fff;
}
.scrolltop {
  z-index: 99999 !important;
}
.rates-table { width: 100%; border-collapse: collapse; }
.rates-table th, .rates-table td { padding: 12px 16px; border: 1px solid rgba(255,255,255,0.1); }
.rates-table th { background: rgba(255,215,0,0.15); color: #d4af37; }
.booking-form .form-field, .casting-form .form-field, .contact-form .form-field { margin-bottom: 20px; }
.booking-form input, .booking-form select, .booking-form textarea,
.casting-form input, .casting-form select, .casting-form textarea,
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%; padding: 12px 16px; background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.2); color: #fff; border-radius: 2px;
}
.companions-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 30px; }
.companion-card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
@media (max-width: 768px) {
  .companions-grid { grid-template-columns: 1fr 1fr; }
  .page-hero { min-height: 40vh; }
}
@media (max-width: 480px) {
  .companions-grid { grid-template-columns: 1fr; }
}

/* Lawan rule lama theme yang mengubah fixed -> absolute di breakpoint ini */
@media screen and (min-width: 1024px) and (max-width: 1600px) {
  #left_section,
  #left_section.one_fifth {
    position: fixed !important;
    height: 100vh !important;
    min-height: 100vh !important;
  }
}