/* ===========================
   Memo Alcántara — STYLE
   Paleta estricta
   =========================== */
:root{
  --deep:#1F1F1B;       /* fondo principal */
  --green:#0A2C33;      /* verde oscuro */
  --cream:#FFFDE6;      /* texto/base */
  --mint:#99CCB7;       /* acento suave */
  --red:#E83C15;        /* CTA */
  /* RGB para opacidades (derivados de la misma paleta) */
  --deep-rgb:31,31,27;
  --cream-rgb:255,253,230;
  --green-rgb:10,44,51;
  --mint-rgb:153,204,183;
}

/* ====== Fuentes ====== */
@font-face{
  font-family:'Cy';
  src:url('../fonts/Cy/Cy-Regular-if6673e73706204.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap
}
@font-face{
  font-family:'Cy';
  src:url('../fonts/Cy/Cy-Bold-if6673e737316f8.ttf') format('truetype');
  font-weight:700;font-style:normal;font-display:swap
}
@font-face{
  font-family:'Heming';
  src:url('../fonts/Heming/Heming Variable.ttf') format('truetype');
  font-weight:100 900;font-display:swap
}
@font-face{
  font-family:'YametKudasi';
  src:url('../fonts/Yamet Kudasi/YametKudasi-Regular.ttf') format('truetype');
  font-weight:400;font-display:swap
}

/* ====== Base ====== */
html,body{
  background:var(--deep);
  color:var(--cream);
  font-family:'Cy',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  scroll-behavior:smooth
}
img{max-width:100%;height:auto}
.object-cover{object-fit:cover}

/* ====== Topbar / Links ====== */
.topbar{background:var(--green);border-bottom:1px solid rgba(var(--cream-rgb),.10)}
.link-top{color:rgba(var(--cream-rgb),.90);text-decoration:none}
.link-top:hover{color:var(--mint)}

/* ====== Navbar ====== */
.bg-deep{background:var(--deep)}
.bg-deeper{background:#181814} /* mismo tono, sin salir de paleta (oscurecido del deep) */
.navbar-brand .brand-text{
  font-family:'YametKudasi',serif;
  letter-spacing:.4px;
  font-size:1.15rem;
  color:var(--mint)
}
.nav-link{color:#99ccb7}
.nav-link:hover,.nav-link.active{color:var(--mint)}
.dropdown-menu{--bs-dropdown-bg:#181814;--bs-dropdown-link-color:rgba(var(--cream-rgb),.9)}

/* ====== Secciones y Titulares ====== */
.section-pad{padding:6rem 0}
.section-head{margin-bottom:1rem}
.eyebrow{
  font:700 1rem/1 'Heming',sans-serif;
  letter-spacing:.08em;
  color:var(--mint);
  text-transform:uppercase
}
.section-title{
  font-family:'YametKudasi',serif;
  font-size:clamp(2.2rem,4.2vw,3.4rem);
  line-height:1.05;
  color:var(--cream);
  margin:0
}
.section-title::after{
  content:"";
  display:block;
  width:72px;height:3px;margin:.6rem 0 0;
  background:linear-gradient(90deg,var(--mint),rgba(var(--mint-rgb),.0));
  border-radius:2px
}
.lead{color:rgba(var(--cream-rgb),.92)}

/* ====== Hero / Slider con Ken Burns sutil y degradado inferior ====== */
.hero .carousel-item{position:relative;overflow:hidden}
.hero .carousel-item::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,
    rgba(var(--deep-rgb),.82) 0%,
    rgba(var(--deep-rgb),.55) 36%,
    rgba(var(--deep-rgb),.22) 66%,
    rgba(var(--deep-rgb),0) 100%);
}
.hero .carousel-item,
.hero .carousel-item img{height:88vh;max-height:88vh}
@media (min-width:1200px){
  .hero .carousel-item,
  .hero .carousel-item img{height:92vh;max-height:92vh}
}
.hero .carousel-item img{
  will-change:transform;
  transform:scale(1.02);
  animation-duration:22s;
  animation-timing-function:ease-in-out;
  animation-fill-mode:both
}
.hero .carousel-item:nth-child(1) img{animation-name:kb-tl;transform-origin:20% 20%}
.hero .carousel-item:nth-child(2) img{animation-name:kb-br;transform-origin:80% 80%}
.hero .carousel-item:nth-child(3) img{animation-name:kb-tr;transform-origin:80% 20%}
.hero .carousel-item:nth-child(4) img{animation-name:kb-bl;transform-origin:20% 80%}
@keyframes kb-tl{0%{transform:scale(1.02) translate3d(-.6%,-.6%,0)}100%{transform:scale(1.08) translate3d(.6%,.6%,0)}}
@keyframes kb-br{0%{transform:scale(1.02) translate3d(.6%,.6%,0)}100%{transform:scale(1.08) translate3d(-.6%,-.6%,0)}}
@keyframes kb-tr{0%{transform:scale(1.02) translate3d(.6%,-.6%,0)}100%{transform:scale(1.08) translate3d(-.6%,.6%,0)}}
@keyframes kb-bl{0%{transform:scale(1.02) translate3d(-.6%,.6%,0)}100%{transform:scale(1.08) translate3d(.6%,-.6%,0)}}

.carousel-caption{
  bottom:10%;
  max-width:min(980px,94vw);
  margin-inline:auto;
  padding:0;
  text-shadow:0 2px 14px rgba(0,0,0,.65)
}
.carousel-caption .title-special,
.carousel-caption .display-5{font-size:clamp(2.6rem,6.8vw,5.6rem);line-height:1.04}
.carousel-caption h2{font-size:clamp(2.2rem,5.4vw,4.6rem);line-height:1.06}
.carousel-caption p{font-size:clamp(1.05rem,1.6vw,1.35rem);margin-top:.35rem}

/* ====== Botones ====== */
.btn-cta{background:var(--red);border-color:var(--red);color:var(--cream)}
.btn-cta:hover{background:#c33211;border-color:#c33211}
.btn-outline-light{color:var(--cream);border-color:rgba(var(--cream-rgb),.35)}
.btn-outline-light:hover{background:rgba(var(--cream-rgb),.06)}

/* ====== Tarjetas y Planes ====== */
.card{background:#191915;border:1px solid rgba(var(--cream-rgb),.08)}
.card-service:hover{transform:translateY(-3px)}
.plan-featured{border-color:var(--mint)}
.plan-title{font-family:'Heming',sans-serif;font-weight:800;letter-spacing:.4px}

/* ====== Formularios ====== */
.form-control,.form-select{background:#12120f;border-color:#2a2a22;color:var(--cream)}
.form-control:focus,.form-select:focus{border-color:var(--mint);box-shadow:none}
.btn-close-white{filter:invert(1)}

/* ====== Footer ====== */
footer{background:#181814}
.text-muted-cream{color:rgba(var(--cream-rgb),.72)}

/* ====== Floating Buttons ====== */
.floating{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:10px;z-index:1030}
.float-btn{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--cream);box-shadow:0 8px 24px rgba(0,0,0,.35);text-decoration:none;transition:.2s}
.float-btn:hover{transform:translateY(-2px);background:#0E3A43}
.wapp{background:#25D366;color:#111} /* WhatsApp conserva su color de marca */

/* ====== Accesibilidad ====== */
@media (prefers-reduced-motion:reduce){
  .hero .carousel-item img{animation:none;transform:none}
  .carousel-caption{text-shadow:none}
}
/* ----- Nosotros: imagen completa y alineada arriba ----- */
/* antes: tenía background y altura fija */
.nosotros-media{
  background:none;           /* elimina gris */
  border-radius:12px;
  overflow:hidden;
}

@media (min-width:992px){
  .nosotros-media{height:100%}           /* iguala al alto del texto */
}

/* Lista con iconos */
.feature-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.5rem}
.feature-list li{display:flex;align-items:center;gap:.6rem;color:rgba(var(--cream-rgb),.92)}
.feature-list i{color:var(--mint);font-size:1.05rem}

/* ----- Banda de métricas con fondo a ancho completo ----- */
.stats-band{
  position:relative;isolation:isolate;
  background:url('../img/nosotros02.jpg') center/cover no-repeat fixed;
  padding:10rem 0;
}
.stats-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right,
    rgba(var(--deep-rgb),.78),
    rgba(var(--deep-rgb),.55) 45%,
    rgba(var(--deep-rgb),.78));
  z-index:-1;
}
.stat{color:var(--cream)}
.stat-number{
  display:inline-block;
  font-family:'Heming',sans-serif;font-weight:900;
  font-size:clamp(2.2rem,6vw,3.8rem);line-height:1;
  color:#99ccb7;
}
.stat-sub{
  display:inline-block;margin-left:.5rem;
  font-weight:700;color:var(--cream)
}
.stat-label{margin-top:.25rem;font-weight:600}

/* Mejor legibilidad sobre foto */
.stats-band .stat-label{color:rgba(var(--cream-rgb),.95)}

/* Cards de la galería de servicios */
.serv-card{background:#191915;border:1px solid rgba(var(--cream-rgb),.08);border-radius:12px;overflow:hidden}
.serv-card img{display:block;transition:transform .45s ease}
.serv-card:hover img{transform:scale(1.03)}
.serv-card figcaption{padding:.75rem 1rem;font-weight:700}
/* Paquetes con fondo */
.paquetes-section{
  position:relative;
  padding:8rem 8rem;
  border-radius:12px;
  background:url('../img/fondo_paquetes.jpg') center/cover no-repeat;
  overflow:hidden;
}
.paquetes-section::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(var(--deep-rgb),.9), rgba(var(--deep-rgb),.1) 40%, rgba(var(--deep-rgb),.1));
}
.paquetes-section > *{position:relative;z-index:1}

/* Tarjetas de paquete */
.pack-card{
  background:rgba(var(--deep-rgb),.75);
  border:1px solid rgba(var(--cream-rgb),.10);
  border-radius:14px;
  padding:1.1rem 1.1rem 1.2rem;
  backdrop-filter:saturate(120%) blur(4px);
}
.pack-featured{border-color:var(--mint); box-shadow:0 12px 28px rgba(0,0,0,.25)}
.pack-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.5rem}
.pack-list li{display:flex;gap:.6rem;align-items:flex-start}
.pack-list i{color:var(--mint);margin-top:.2rem}
/* full-bleed: ocupa todo el ancho del viewport aunque esté dentro de .container */
.paquetes-full{
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  width:100vw;
  border-radius:0;             /* sin esquinas para ocupar de orilla a orilla */
}
/* Modal sobre reservaciones a 80% del ancho */
.modal-reservas{ --bs-modal-width: 80vw; }
@media (max-width: 576px){ .modal-reservas{ --bs-modal-width: 96vw; } }

/* Asegura que el modal quede por encima de cualquier z-index del sitio */
.modal{ z-index: 1080; }
.modal-backdrop{ z-index: 1070; }

