/* ==========================================================================
   LUXURY PACKAGES v2 — card imagery, ribbon polish, luxury FAQ accordion
   ========================================================================== */

/* --- Package card image header ------------------------------------------ */
.lux-pkg-card-image{
  position:relative;
  overflow:hidden;
  aspect-ratio:4 / 3;
}
.lux-pkg-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}
.luxury-package-card:hover .lux-pkg-card-image img{ transform:scale(1.08); }
.lux-pkg-card-image::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(8,26,17,.55) 0%, rgba(8,26,17,0) 55%);
}
.lux-pkg-tag{
  position:absolute;
  bottom:14px; left:18px;
  color:#fff;
  font-family:'Poppins','Inter',sans-serif;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  z-index:2;
}

/* --- Ribbon badge --------------------------------------------------------- */
.lux-pkg-ribbon{
  position:absolute;
  top:16px; right:-6px;
  background:var(--gir-gold, #D4AF37);
  color:#0d3518;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  padding:6px 16px 6px 14px;
  border-radius:20px 0 0 20px;
  z-index:3;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.4);
}

/* --- Facility info cards --------------------------------------------------- */
.lux-pkg-facility-icon{
  width:56px; height:56px;
  border-radius:50%;
  background:rgba(15,81,50,.07);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
  font-size:22px;
  color:var(--gir-forest, #0F5132);
  transition:background .35s ease, transform .35s ease;
}
.luxury-info-card:hover .lux-pkg-facility-icon{
  background:var(--gir-gold, #D4AF37);
  color:#fff;
  transform:rotate(-8deg) scale(1.05);
}

/* --- Facility tag pills ----------------------------------------------------- */
.lux-pkg-pill{
  background:var(--gir-forest,#0F5132);
  color:#fff;
  padding:9px 20px;
  border-radius:30px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.03em;
  transition:background .3s ease, transform .2s ease;
}
.lux-pkg-pill:hover{ background:var(--gir-gold,#D4AF37); color:#0d3518; transform:translateY(-2px); }

/* --- Luxury FAQ accordion --------------------------------------------------- */
.lux-pkg-faq{ max-width:820px; margin:44px auto 0; }
.lux-pkg-faq details{
  background:#fff;
  border:1px solid rgba(15,81,50,.12);
  border-radius:8px;
  margin-bottom:12px;
  padding:0;
  overflow:hidden;
  box-shadow:0 12px 30px -22px rgba(8,36,23,.2);
}
.lux-pkg-faq summary{
  list-style:none;
  cursor:pointer;
  padding:20px 54px 20px 24px;
  position:relative;
  font-family:'Poppins','Inter',sans-serif;
  font-weight:600;
  font-size:15px;
  color:#17301f;
  transition:color .25s ease;
}
.lux-pkg-faq summary::-webkit-details-marker{ display:none; }
.lux-pkg-faq summary::after{
  content:'+';
  position:absolute;
  right:22px; top:50%;
  transform:translateY(-50%);
  width:28px; height:28px;
  border-radius:50%;
  background:rgba(15,81,50,.08);
  color:var(--gir-forest,#0F5132);
  font-size:18px;
  font-weight:400;
  display:flex; align-items:center; justify-content:center;
  transition:transform .3s ease, background .3s ease, color .3s ease;
}
.lux-pkg-faq details[open] summary{ color:var(--gir-forest,#0F5132); }
.lux-pkg-faq details[open] summary::after{
  transform:translateY(-50%) rotate(135deg);
  background:var(--gir-gold,#D4AF37);
  color:#fff;
}
.lux-pkg-faq .lux-pkg-faq-a{
  padding:0 24px 22px;
  color:#666;
  font-size:14px;
  line-height:1.8;
  margin:0;
}

/* --- Responsive ------------------------------------------------------------- */
@media (max-width:600px){
  .lux-pkg-ribbon{ right:0; top:10px; font-size:10px; padding:5px 14px 5px 12px; }
  .lux-pkg-faq summary{ padding:16px 46px 16px 18px; font-size:14px; }
  .lux-pkg-faq .lux-pkg-faq-a{ padding:0 18px 18px; }
}
