/* Modern subtle enhancements */
.no-horizontal-scroll, html, body {
  max-width: 100%;
  overflow-x: hidden;
}
.imagenes {
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.imagenes:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.12);
}

.item img {
  border-radius: 8px;
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.item img:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.embed-responsive-item {
  border-radius: 10px;
}

/* Map sizing and containment */
.map { height: auto; margin-top: 40px; margin-bottom: 40px; }
.map .embed-responsive {
  height: 320px;
  padding-top: 0; /* override 16:9 padding to use fixed height */
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(0,0,0,0.15);
}
.map iframe { width: 100%; height: 100%; }

@media (min-width: 768px) {
  .map .embed-responsive { height: 360px; }
}
@media (min-width: 1200px) {
  .map .embed-responsive { height: 400px; }
}
.map .embed-responsive .embed-responsive-item { width: 100%; height: 100%; }

/* Welcome section refinements */
.welcome-subtitle {
  font-weight: 600;
  letter-spacing: 0.08em;
  opacity: 0.85;
  margin-top: 6px;
}
.welcome-cta .buttons { margin-right: 8px; }

/* Rooms section refinements */
.room-badges { margin-top: 8px; }
.room-badge {
  display: inline-block;
  background-color: rgba(117, 32, 91, 0.08);
  color: #75205B;
  border: 1px solid #75205B;
  border-radius: 9999px;
  padding: 4px 10px;
  font-size: 12px;
  margin-right: 6px;
  margin-bottom: 6px;
}
.room-amenities {
  list-style: none;
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px 20px;
  margin-top: 12px;
}
.room-amenities li {
  position: relative;
  padding-left: 24px;
}
.room-amenities li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #75205B;
  font-weight: 700;
}
.room-cta { margin-top: 14px; }

/* Slightly wider container for rooms section */
.rooms-container {
  max-width: 1400px;
}

/* Separación entre cada habitación */
#habitaciones .col-lg-6 {
  margin-bottom: 60px;
}

/* Íconos de amenidades con FontAwesome */
.room-amenities li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 0;
}
.room-amenities li i {
  color: #75205B;
  min-width: 18px;
}
/* Desactiva el antiguo check generado por ::before */
.room-amenities li::before { content: none; }

/* Tarjeta para contenido de habitaciones */
.room-card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.06);
  padding: 24px;
}

/* Ajustes de tamaño/color para Flaticon dentro de amenidades */
.room-amenities li [class^="flaticon-"]:before,
.room-amenities li [class*=" flaticon-"]:before {
  font-size: 18px;
  color: #75205B;
}
/* Panel elegante para conservar textos originales en EVENTOS */
.event-panel {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(0,0,0,0.10);
  border: 1px solid rgba(0,0,0,0.06);
  padding: 20px;
}
.event-panel p { margin-bottom: 10px; }
.event-panel .icon_check { color: #75205B; }
.event-icons { display: flex; gap: 10px; margin-bottom: 10px; align-items: center; }
.event-icons [class^="flaticon-"]:before,
.event-icons [class*=" flaticon-"]:before { font-size: 22px; color: #75205B; }
/* Asegura tamaño y color para ElegantIcons dentro de .event-icons */
.event-icons i { font-size: 22px; color: #75205B; }

/* Recomendaciones: paneles y espaciados */
.recommend-panel { margin-bottom: 24px; }
.recommend-panel h4 { font-size: 20px; margin: 8px 0 12px; }
.recommend-panel .event-icons i { font-size: 28px; margin-right: 8px; }
#recomendaciones .section-title h3,
#recommendations .section-title h3 { margin-top: 0; }
.map-cta { font-size: 0.9em; margin-left: 6px; color: #75205B; text-decoration: underline; }
.map-cta .fa { margin-right: 4px; }
/* Fondo sutil para paneles de recomendaciones */
.recommend-panel {
  position: relative;
  background-image: linear-gradient(rgba(255,255,255,0.92), rgba(255,255,255,0.92)), url('../img/video-bg.jpg');
  background-size: cover;
  background-position: center;
  border-radius: 8px;
}
#recomendaciones .section-title h3,
#recommendations .section-title h3 { margin-top: 0; }
@media (min-width: 992px) {
  #recomendaciones .col-lg-4,
  #recommendations .col-lg-4 { margin-bottom: 0; }
}
@media (max-width: 991.98px) {
  #recomendaciones .col-sm-6,
  #recommendations .col-sm-6 { margin-bottom: 18px; }
}

/* EXPERIENCIAS: centrar el botón de play */
.video-section .video-text { display: flex; align-items: center; justify-content: center; min-height: 420px; }
.video-section .video-text .play-btn img { width: 64px; height: 64px; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.25)); }

/* Botones sociales (Facebook e Instagram) */
.social-buttons { display: flex; gap: 10px; margin-top: 8px; }
.social-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.social-btn i { font-size: 18px; line-height: 1; }
.social-btn.fb { background-color: #1877F2; }
.social-btn.ig { background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af, #515bd4); }
.social-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,0.20); }
.social-btn:focus { outline: 2px solid rgba(117, 32, 91, 0.35); outline-offset: 2px; }

/* Eventos - tarjetas y lista */
.events-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.event-card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.06);
  padding: 18px;
}
.event-card__icon i {
  font-size: 28px;
  color: #75205B;
}
/* Reducir tamaño de Flaticon dentro de tarjetas de eventos */
.event-card__icon [class^="flaticon-"]:before,
.event-card__icon [class*=" flaticon-"]:before {
  font-size: 26px; /* override de flaticon.css (50px) */
}
.event-card h3 {
  font-size: 18px;
  margin-top: 8px;
  margin-bottom: 8px;
}
.event-features {
  list-style: none;
  padding-left: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px 16px;
}
.event-features li {
  display: flex;
  align-items: center;
  gap: 10px;
}
.event-features li i {
  color: #75205B;
}
.event-card__note {
  margin-top: 6px;
  font-size: 14px;
  opacity: 0.85;
}
.event-cta { margin-top: 14px; }

@media (min-width: 992px) {
  .events-card-grid { grid-template-columns: 1fr 1fr; }
}
.mfp-half .mfp-content { width: 50vw; max-width: 640px; }
@media (max-width: 576px) {
  .mfp-half .mfp-content { width: 90vw; }
}
/* Mobile menu trigger: move left and purple accent */
.canvas-open {
  left: 15px;
  right: auto;
  color: #75205B;
  border-color: #75205B;
  background-color: rgba(117, 32, 91, 0.08);
}
.canvas-open .icon_menu {
  color: inherit;
}
/* Ensure mobile override takes precedence over base styles */
@media only screen and (max-width: 991px) {
.canvas-open {
  left: 15px !important;
  right: auto !important;
  color: #75205B !important;
  border-color: #75205B !important;
  background-color: rgba(117, 32, 91, 0.08) !important;
}
.canvas-open .icon_menu,
.canvas-open .icon_menu:before {
  color: #75205B !important;
}

/* Close button accent and active link color (mobile) */
@media only screen and (max-width: 991px) {
  .offcanvas-menu-wrapper .canvas-close {
    border-color: #75205B !important;
    color: #75205B !important;
    background-color: rgba(117, 32, 91, 0.08) !important;
  }
  .offcanvas-menu-wrapper .canvas-close .icon_close,
  .offcanvas-menu-wrapper .canvas-close .icon_close:before {
    color: #75205B !important;
  }

  /* Active and hover states inside slicknav */
  .offcanvas-menu-wrapper .slicknav_nav li.active > a,
  .offcanvas-menu-wrapper .slicknav_nav a.active {
    color: #75205B !important;
  }
  .offcanvas-menu-wrapper .slicknav_nav a:hover {
    color: #75205B !important;
  }
  .offcanvas-menu-wrapper .slicknav_nav .slicknav_row:hover a,
  .offcanvas-menu-wrapper .slicknav_nav .slicknav_row:hover span {
    color: #75205B !important;
  }

  /* Stack language selector and reservation button vertically */
  .offcanvas-menu-wrapper .header-configure-area .language-option,
  .offcanvas-menu-wrapper .header-configure-area .bk-btn {
    display: block !important;
  }
  .offcanvas-menu-wrapper .header-configure-area .bk-btn {
    margin-top: 10px;
  }

  /* Center flag and language code in offcanvas */
  .offcanvas-menu-wrapper .header-configure-area .language-option {
    text-align: center !important;
  }
  .offcanvas-menu-wrapper .header-configure-area .language-option img {
    display: block !important;
    margin: 0 auto 6px !important;
  }
  .offcanvas-menu-wrapper .header-configure-area .language-option span {
    display: block !important;
  }
}
}
/* Responsive image and background fixes */
img { height: auto; display: block; }
.set-bg { background-position: center center; }
.room-item img { width: 100%; height: auto; display: block; }
.room-details-item img { width: 100%; height: auto; display: block; }