.elementor-130 .elementor-element.elementor-element-8f2ab11{--display:flex;--overlay-opacity:0.5;--margin-top:-40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-130 .elementor-element.elementor-element-8f2ab11:not(.elementor-motion-effects-element-type-background), .elementor-130 .elementor-element.elementor-element-8f2ab11 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://amihomestay.com/wp-content/uploads/2025/11/3b1be729-d194-4329-b8a0-4258a3ab04c6.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-130 .elementor-element.elementor-element-8f2ab11::before, .elementor-130 .elementor-element.elementor-element-8f2ab11 > .elementor-background-video-container::before, .elementor-130 .elementor-element.elementor-element-8f2ab11 > .e-con-inner > .elementor-background-video-container::before, .elementor-130 .elementor-element.elementor-element-8f2ab11 > .elementor-background-slideshow::before, .elementor-130 .elementor-element.elementor-element-8f2ab11 > .e-con-inner > .elementor-background-slideshow::before, .elementor-130 .elementor-element.elementor-element-8f2ab11 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-130 .elementor-element.elementor-element-e8bbaea{--display:flex;}.elementor-130 .elementor-element.elementor-element-11d4c30{--display:flex;}.elementor-130 .elementor-element.elementor-element-14540f8{--display:flex;}.elementor-130 .elementor-element.elementor-element-88d5ae2{--display:flex;}/* Start custom CSS for html, class: .elementor-element-80e82cb *//* ================== HERO – CAMPING SITE (WHITE + TEAL FONT) ================== */

#camp-hero {
  padding: 120px 20px;
  background: transparent !important; /* gambar kau nanti cover */
  text-align: center;
  font-family: 'Poppins', sans-serif;
  color: #ffffff; /* semua text default putih */
}

/* TITLE */
#camp-hero .dual-title {
  font-size: 44px;
  font-weight: 900;
  margin-bottom: 12px;
  color: #ffffff; /* putih */
}

#camp-hero .dual-title span {
  color: #00A896; /* teal green highlight */
}

/* DESCRIPTION */
#camp-hero .hero-desc {
  font-size: 18px;
  max-width: 640px;
  margin: 0 auto 25px;
  color: #f2f2f2; /* putih cair */
  opacity: 0.95;
}

/* BUTTON */
.camp-hero-btn {
  display: inline-block;
  padding: 14px 36px;
  background: #00A896; /* teal */
  color: #ffffff;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  transition: .25s ease;
}

.camp-hero-btn:hover {
  background: #008f7a;
  transform: translateY(-3px);
}

/* MOBILE */
@media(max-width:700px){
  #camp-hero .dual-title { font-size: 32px; }
  #camp-hero .hero-desc { font-size: 16px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-70bbd77 *//* ================= SECTION 2 — CAMP DETAILS (LIGHT MODE) ================= */

#camp-details {
  padding: 70px 20px;
  background: #ffffff !important;
  font-family: 'Poppins', sans-serif;
  color: #111;
}

/* TITLE */
#camp-details .dual-title {
  font-size: 38px;
  font-weight: 900;
  margin-bottom: 40px;
  text-align: center;
  color: #111;
}

#camp-details .dual-title span {
  color: #00A896; /* teal highlight */
}

/* GRID BOX */
.details-box {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

/* CARD ITEM */
.detail-item {
  background: #f7f7f7;
  padding: 22px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.1);
  transition: .25s ease;
}

/* HOVER EFFECT */
.detail-item:hover {
  background: #eafff7;
  border-color: #00A896;
  transform: translateY(-4px);
}

/* CARD TITLE */
.detail-item h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #00A896; /* teal */
}

/* CARD TEXT */
.detail-item p {
  font-size: 15px;
  color: #444;
  margin: 0;
}

/* RESPONSIVE */
@media(max-width: 900px){
  .details-box {
    grid-template-columns: repeat(2,1fr);
  }
}

@media(max-width: 500px){
  .details-box {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c103cea *//* ================= SECTION 3 — CAMP FACILITIES (LIGHT MODE) ================= */

#camp-facilities {
  padding: 70px 20px;
  background: #ffffff !important;
  font-family: 'Poppins', sans-serif;
}

/* TITLE */
#camp-facilities .dual-title {
  font-size: 38px;
  font-weight: 900;
  margin-bottom: 40px;
  text-align: center;
  color: #111;
}

#camp-facilities .dual-title span {
  color: #00A896; /* teal */
}

/* GRID BOX */
.facility-box {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 22px;
}

/* CARD */
.facility-item {
  background: #f7f7f7;
  padding: 22px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,0.1);
  transition: .25s ease;
}

/* HOVER */
.facility-item:hover {
  background: #eafff7;
  border-color: #00A896;
  transform: translateY(-4px);
}

/* TITLE */
.facility-item h3 {
  font-size: 18px;
  font-weight: 700;
  color: #00A896;
  margin-bottom: 8px;
}

/* TEXT */
.facility-item p {
  font-size: 15px;
  color: #444;
  margin: 0;
}

/* RESPONSIVE */
@media(max-width: 900px){
  .facility-box {
    grid-template-columns: repeat(2,1fr);
  }
}

@media(max-width: 500px){
  .facility-box {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-bfc577c *//* ========== SECTION — CAMP GALLERY (LIGHT MODE) ========== */

#camp-gallery {
  padding: 70px 20px;
  background: #ffffff !important;
  font-family: 'Poppins', sans-serif;
}

/* TITLE */
#camp-gallery .dual-title {
  font-size: 38px;
  font-weight: 900;
  text-align: center;
  margin-bottom: 40px;
  color: #111;
}

#camp-gallery .dual-title span {
  color: #00A896;
}

/* GRID */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

/* ITEM */
.g-item {
  overflow: hidden;
  border-radius: 14px;
}

.g-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
  transition: .3s ease;
}

/* HOVER */
.g-item:hover img {
  transform: scale(1.06);
  opacity: .9;
}

/* RESPONSIVE */
@media(max-width: 900px){
  .gallery-grid {
    grid-template-columns: repeat(2,1fr);
  }
}

@media(max-width: 500px){
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e6a0cf9 *//* ================== SECTION 5 – CAMP CTA (LIGHT MODE) ================== */

#camp-cta {
  background: #ffffff;
  padding: 80px 20px;
  font-family: 'Poppins', sans-serif;
}

/* GRID */
.cta-container {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

/* LEFT TITLE */
.cta-title {
  font-size: 34px;
  font-weight: 900;
  margin-bottom: 25px;
  color: #111;
}

.cta-title span {
  color: #00A896; /* teal */
}

/* MAP BOX */
.map-box {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0,0,0,0.12);
}

/* ADDRESS */
.address-box {
  margin-top: 20px;
  font-size: 16px;
  color: #222;
  line-height: 1.6;
}

.address-box a {
  color: #00A896;
  font-weight: 600;
  text-decoration: none;
}

/* FORM */
.form-title {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #001F3F;
}

#campBookingForm label {
  font-weight: 600;
  font-size: 15px;
  color: #111;
  margin-top: 12px;
  display: block;
}

#campBookingForm input {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #ccc;
  font-size: 15px;
  margin-top: 5px;
  outline: none;
  transition: .2s;
}

#campBookingForm input:focus {
  border-color: #00A896;
}

/* BUTTON */
.cta-btn {
  width: 100%;
  margin-top: 22px;
  padding: 14px;
  background: #00A896;
  color: #fff;
  font-size: 17px;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: 0.3s;
  font-weight: 600;
}

.cta-btn:hover {
  background: #008B79;
}

/* RESPONSIVE */
@media(max-width: 900px){
  .cta-container {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */