/* ===== Base / Reset ===== */
html, body{
  height: 100%;
  width: 100%;
  margin: 0;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
* { box-sizing: border-box; }
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans';
}
img, video { max-width: 100%; height: auto; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(40px); transition: opacity .9s ease, transform .9s ease; }
.reveal.visible { opacity: 1; transform: none; }

/* Sections & spacing safety */
body > :last-child{ margin-bottom: 0; }
.section-pad > :first-child{ margin-top: 0; }
.section-pad > :last-child{  margin-bottom: 0; }
.section-pad:empty{ padding: 0; }

/* ===== Nav / Fixed top (if used) ===== */
:root{ --nav-h: 56px; }
@media (min-width: 992px){ :root{ --nav-h: 70px; } }
[id]{ scroll-margin-top: calc(var(--nav-h) + 12px); }
.navbar.fixed-top{
  backdrop-filter: saturate(1.5) blur(8px);
  background: rgba(0,0,0,.75) !important;
}

/* ===== Hero ===== */
.hero {
  position: relative;
  min-height: 100svh;
  display: flex; align-items: center; justify-content: center;
  color: #fff; text-align: center;
  overflow: hidden;
  background-color: #000;
  background-image: url('/assets/img/hero.jpg');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.hero::after { content:''; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.4), rgba(0,0,0,.7)); }
.hero > .inner { position: relative; z-index: 2; }
@media (min-width: 992px){
  .hero{ background-attachment: scroll !important; }
  .hero::after{ background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.75)); }
}
header.hero{ margin-top: calc(-1 * var(--nav-h)); padding-top: calc(var(--nav-h) + 24px); }

/* ===== Blocks / Cards ===== */
.section-pad { padding: 80px 0; }
.badge-soft { background: rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.15); border-radius:20px; padding:.35rem .75rem; }
.card-soft { border-radius:18px; border:1px solid rgba(0,0,0,.075); box-shadow: 0 10px 28px rgba(0,0,0,.06); }
.stars { color:#ffb400; }

/* ===== Gallery Grid ===== */
.gallery {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap:14px;
}
.gallery a { position: relative; text-decoration:none; }

/* Image tiles */
.gallery img{
  display:block;
  width:100%;
  height:240px;
  object-fit:cover;
  border-radius:14px;
}

/* Video tiles (autoplaying thumbs) */
.gallery video.thumb-video{
  display:block;
  width:100%;
  height:240px;
  object-fit:cover;
  border-radius:14px;
  background:#000;
  pointer-events:none; /* let the <a> receive the tap/click */
}
.play-badge{
  position:absolute; right:10px; bottom:10px;
  background: rgba(0,0,0,.55); color:#fff;
  font-weight:700; font-size:14px; line-height:1;
  padding:6px 10px; border-radius:999px;
  pointer-events:none;
}

/* ===== Footer / Social ===== */
footer { background:#0b0b0b; color:#bbb; padding:30px 0; }
footer a { color:#fff; text-decoration:none; margin-right:14px; }
footer .copy { opacity:.7; }
.navbar-brand { font-weight:800; letter-spacing:.5px; }

/* Font Awesome round icons in footer */
footer a.social{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; margin-right:10px;
  color:#fff; border-radius:50%;
  background: rgba(255,255,255,.08);
  transition: transform .15s ease, background-color .15s ease, color .15s ease;
}
footer a.social:hover{ transform: translateY(-2px); background: rgba(255,255,255,.18); }
footer a.social .fa-instagram:hover { color:#E1306C; }
footer a.social .fa-facebook:hover  { color:#1877F2; }

/* Contact links */
.contact-direct a { text-decoration:none; }
.contact-direct a:hover { text-decoration:underline; }

/* WhatsApp FAB */
#whatsappFab{
  position: fixed;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 1040;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(37,211,102,.45);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
#whatsappFab:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px rgba(37,211,102,.55); filter: brightness(1.05); }
#whatsappFab i{ font-size: 1.4rem; line-height: 1; }
@media (pointer: coarse){
  #whatsappFab{ width: 64px; height: 64px; }
  #whatsappFab i{ font-size: 1.6rem; }
}
