/* Home page enhancements for HotellPL */

/* Hero */
.hero {
  position: relative;
  min-height: 78vh;
  display: grid;
  align-items: center;
  background-color: var(--color-matte-black);
  isolation: isolate;
}
.hero-media {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(0.6) saturate(1.05);
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(10,77,60,0.55) 0%, rgba(26,26,26,0.6) 60%, rgba(26,26,26,0.75) 100%);
}
.hero-content {
  color: var(--color-text-inverse);
  padding-top: var(--space-20);
  padding-bottom: var(--space-20);
}
.hero-content h1 {
  color: var(--color-text-inverse);
}
.hero-ctas { margin-top: var(--space-6); display: flex; gap: var(--space-4); flex-wrap: wrap; }
.hero-highlights { margin-top: var(--space-6); display: grid; gap: var(--space-2); color: var(--color-cream-dark); }
.hero-highlights li { position: relative; padding-left: 1.25rem; }
.hero-highlights li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  background: linear-gradient(45deg, var(--color-emerald), var(--color-rose-gold));
}

/* Amenities */
.amenities-list { display: grid; gap: var(--space-2); margin: var(--space-4) 0 var(--space-6); }
.amenities-list li { padding-left: 1.25rem; position: relative; }
.amenities-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 10px;
  height: 2px;
  background-color: var(--color-emerald);
}

/* FAQ */
.faq { display: grid; gap: var(--space-4); }
.faq details {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-6);
  color: var(--color-text-inverse);
}
.faq summary {
  cursor: pointer;
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-wide);
}
.faq summary::-webkit-details-marker { display: none; }
.faq details[open] { border-color: var(--color-rose-gold); box-shadow: var(--shadow-base); }
.faq details > div { margin-top: var(--space-3); color: var(--color-cream-dark); }
.faq a { color: var(--color-rose-gold-light); text-decoration: underline; }

/* Reveal on scroll */
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity var(--transition-slow) var(--transition-timing-luxury), transform var(--transition-slow) var(--transition-timing-luxury); }
[data-reveal].in-view { opacity: 1; transform: translateY(0); }

/* Responsive tweaks */
@media (max-width: 1024px) {
  .hero { min-height: 68vh; }
}
@media (max-width: 640px) {
  .hero-ctas { flex-direction: column; align-items: flex-start; }
}
