/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&display=swap");

:root {
  /* Estas son las variables de color de tu index.html para referencia */
  /* No se usan directamente aquí para asegurar que style.css funcione incluso si se carga antes */
  /* --primary-accent-color: #E34096; */
  /* --primary-accent-hover-color: #EC5AA1; */
  /* --dark-section-background: #1A1423; */
  /* --darker-footer-background: #100C1A; */
  /* --header-scrolled-background: rgba(20, 15, 30, 0.95); */
  /* --light-text-color: #F0F0F0; */
  /* --section-subtitle-color: #C0C0C0; */
  /* --white-color: #FFFFFF; */
  /* --black-color: #000000; */
}

body {
  font-family: "Rajdhani", Tahoma, Verdana, sans-serif;
  color: #F0F0F0; /* Color de texto claro principal */
  background-color: #1A1423; /* Fondo oscuro principal */
  margin: 0;
  padding: 0;
}

a {
  color: #E34096; /* Color de acento primario */
  text-decoration: none;
}

a:hover {
  color: #EC5AA1; /* Color de acento primario hover */
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Rajdhani", Tahoma, Verdana, sans-serif;
  color: #F0F0F0; /* Color de texto claro para encabezados */
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  background: #E34096; /* Color de acento primario */
  width: 40px;
  height: 40px;
  border-radius: 50px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 28px;
  color: #FFFFFF; /* Color blanco */
  line-height: 0;
}

.back-to-top:hover {
  background: #EC5AA1; /* Color de acento primario hover */
  color: #FFFFFF;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Disable AOS delay on mobile
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  height: 70px;
  transition: background-color 0.5s ease, height 0.5s ease;
  z-index: 997;
  background: rgba(20, 15, 30, 0.8); /* Coincide con index.html */
}

#header.header-transparent {
  background: transparent !important; /* Coincide con index.html */
}

#header.header-scrolled {
  background: rgba(20, 15, 30, 0.95); /* Coincide con index.html */
  height: 70px;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2);
}

#header .logo img { /* Ajustado para coincidir con index.html */
  padding: 0;
  margin: 0;
  max-height: 50px;
  height: auto;
}

/*--------------------------------------------------------------
# Header Nav & Navigation Menu (adaptado de index.html y style.css)
--------------------------------------------------------------*/
.header-nav ul, .navbar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 15px; /* Coincide con index.html */
  margin-left: 5px;
  font-size: 14px;
  color: #FFFFFF; /* Texto blanco para nav links */
  white-space: nowrap;
  transition: 0.3s;
  border-radius: 50px;
}

.navbar a i,
.navbar a:focus i {
  font-size: 12px;
  line-height: 0;
  margin-left: 5px;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover > a {
  background: #E34096; /* Color de acento primario */
  color: #FFFFFF; /* Texto blanco en hover */
}

/* Estilos para el dropdown del perfil de usuario */
.header-nav .nav-profile {
  color: #cccccc; /* Coincide con index.html */
  position: relative;
}

.header-nav .nav-profile img {
  max-height: 32px; /* Coincide con index.html */
  width: 32px; /* Añadido para consistencia */
  border-radius: 50%;
}

.header-nav .nav-profile span {
  font-size: 14px;
  font-weight: 600;
  color: #FFFFFF; /* Coincide con index.html */
  padding-left: 8px; /* Coincide con index.html */
}

.navbar .dropdown ul { /* Estilo para el menú desplegable */
  display: block;
  position: absolute;
  top: calc(100% + 10px); /* Ajustado para mejor posicionamiento */
  margin: 0;
  padding: 10px 0;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  background: rgba(20, 15, 30, 0.95); /* Fondo oscuro para dropdown */
  box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.25);
  transition: 0.3s;
  border-radius: 10px; /* Bordes redondeados */
  border: 1px solid rgba(255,255,255,0.1); /* Coincide con index.html */
}

.navbar .dropdown ul li {
  min-width: 100px;
}

.navbar .dropdown ul a {
  padding: 10px 20px;
  font-size: 14px;
  color: #F0F0F0; /* Texto claro para items del dropdown */
  margin: 0; /* Eliminado margen para consistencia */
  border-radius: 0; /* Sin bordes redondeados para items individuales */
}

.navbar .dropdown ul a i {
  font-size: 12px;
}

.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover > a {
  background-color: #E34096; /* Color de acento en hover */
  color: #FFFFFF;
}

.navbar .dropdown:hover > ul {
  opacity: 1;
  top: 100%;
  visibility: visible;
}

/* Mobile Navigation Toggle */
.mobile-nav-toggle {
  color: #FFFFFF; /* Color blanco para el icono del toggle */
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}

@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }
  .navbar ul { /* Ocultar menú principal en móvil, ya está en index.html */
    display: none;
  }
}

.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(10, 8, 15, 0.95); /* Fondo oscuro para menú móvil */
  transition: 0.3s;
  z-index: 999;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 15px;
  right: 15px;
}

.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 55px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  border-radius: 10px;
  background-color: #1A1423; /* Fondo oscuro para la lista del menú móvil */
  overflow-y: auto;
  transition: 0.3s;
  border: 1px solid rgba(255,255,255,0.1);
}

.navbar-mobile a,
.navbar-mobile a:focus {
  padding: 10px 20px;
  margin: 5px;
  font-size: 15px;
  color: #F0F0F0; /* Texto claro */
  border-radius: 5px;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover > a {
  color: #FFFFFF;
  background: #E34096; /* Color de acento en hover */
}

.navbar-mobile .dropdown ul { /* Estilos para sub-menús en móvil */
  position: static;
  display: none;
  margin: 10px 20px;
  padding: 10px 0;
  z-index: 99;
  opacity: 1;
  visibility: visible;
  background: #100C1A; /* Fondo más oscuro para sub-dropdown */
  box-shadow: none;
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 5px;
}

.navbar-mobile .dropdown > .dropdown-active {
  display: block;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 0;
  /* La imagen de fondo se define en index.html: style="background-image: url('https://files.catbox.moe/plawtz.png');" */
  /* background-image: url("URL_DE_IMAGEN_DE_STYLE_CSS_COMENTADA_O_ELIMINADA"); */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 80vh; /* Coincide con index.html */
  padding-top: 70px; /* Coincide con index.html */
  display: flex; /* Coincide con index.html */
  flex-direction: column; /* Coincide con index.html */
}

#hero .container { /* Coincide con index.html */
  display: flex;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  position: relative;
  z-index: 2;
}

#hero h1 { /* Coincide con index.html */
  color: #FFFFFF;
  margin-bottom: 30px;
  font-size: 48px;
  font-weight: 700;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.8);
}

/* Botón .btn-get-started ya está estilizado en index.html, no es necesario aquí si se mantiene allí */
/* Si se quiere mover la estilización completa a style.css, se copiarían los estilos de index.html aquí */

@media (max-width: 768px) {
  #hero h1 { /* Coincide con index.html */
    font-size: 32px;
  }
  /* Estilos para .btn-get-started en móvil también están en index.html */
}

/* Ondas SVG y animaciones ya están en index.html */

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 60px 0;
  overflow: hidden;
  position: relative;
}

.section-title {
  text-align: center;
  padding-bottom: 40px;
}

.section-title h2 { /* Coincide con index.html */
  font-size: 14px;
  font-weight: 500;
  padding: 0;
  line-height: 1px;
  margin: 0 0 5px 0;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C0C0C0; /* --section-subtitle-color */
}

.section-title h2::after { /* Coincide con index.html */
  content: "";
  width: 120px;
  height: 1px;
  display: inline-block;
  background: #E34096; /* --primary-accent-color */
  margin: 4px 10px;
}

.section-title p { /* Coincide con index.html */
  margin: 0;
  font-size: 29px;
  font-weight: 700;
  text-transform: uppercase;
  color: #FFFFFF; /* --white-color */
}

/* Clase .bkgbluedegradate ya está estilizada en index.html */

/*--------------------------------------------------------------
# Services Section (Adaptado para tema oscuro)
--------------------------------------------------------------*/
#services {
  background-color: #1A1423; /* --dark-section-background, coincide con index.html */
  /* La imagen de fondo y overlay de style.css original se eliminan/comentan */
  /* background-image: url(...); */
  /* ::before overlay ... */
}

#services .container { /* Para asegurar que el contenido esté sobre cualquier posible :before si se reintroduce */
  position: relative;
  z-index: 2;
}

.services .icon-box {
  padding: 30px;
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05); /* Fondo oscuro sutil para las cajas */
  box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.4s ease-in-out;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.services .icon-box:hover {
  transform: translateY(-10px);
  box-shadow: 0 2px 25px 0 rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.08);
}

.services .icon {
  position: absolute;
  left: 10px; /* Ajustado para mejor alineación en cajas más oscuras */
  top: calc(50% - 22px); /* Ajustado para íconos de 45px */
}

.services .icon i {
  font-size: 45px;
  line-height: 1;
  transition: 0.5s;
  color: #E34096; /* Color de acento primario */
}

.services .title {
  margin-left: 60px; /* Espacio para el ícono */
  font-weight: 700;
  margin-bottom: 15px;
  font-size: 18px;
}

.services .title a {
  color: #F0F0F0; /* Texto claro */
  transition: ease-in-out 0.3s;
}

.services .title a:hover {
  color: #E34096; /* Color de acento primario */
}

.services .description {
  font-size: 14px;
  margin-left: 60px; /* Espacio para el ícono */
  line-height: 24px;
  margin-bottom: 0;
  color: #C0C0C0; /* Texto un poco más tenue para descripción */
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
  background-color: #100C1A; /* --darker-footer-background, coincide con index.html */
  color: rgba(240, 240, 240, 0.7); /* Coincide con index.html */
  font-size: 14px;
  text-align: center;
  padding: 30px 0;
  position: relative;
  /* La imagen de fondo y overlay de style.css original se eliminan/comentan */
}

#footer .container { /* Para asegurar que el contenido esté sobre cualquier posible :before */
  position: relative;
  z-index: 2;
}

#footer h3 { /* Coincide con index.html */
  font-size: 36px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0 0 15px 0;
}

#footer p { /* Coincide con index.html */
  font-size: 12px; /* Ajustado para coincidir con index.html, style.css tenía 15px */
  font-style: italic;
  margin: 0 0 20px 0; /* Coincide con index.html */
  color: rgba(240, 240, 240, 0.7);
}

#footer .social-links {
  margin: 0 0 20px 0; /* Reducido margen inferior */
}

#footer .social-links a {
  font-size: 18px;
  display: inline-block;
  background: #E34096; /* Color de acento primario */
  color: #fff;
  line-height: 1;
  padding: 8px 0;
  margin-right: 4px;
  border-radius: 50%;
  text-align: center;
  width: 36px;
  height: 36px;
  transition: 0.3s;
}

#footer .social-links a:hover {
  background: #EC5AA1; /* Color de acento primario hover */
  color: #fff;
  text-decoration: none;
}

#footer .copyright { /* Coincide con index.html */
  margin: 0 0 5px 0;
}

#footer .credits { /* Coincide con index.html */
  font-size: 13px;
}
#footer .credits a { /* Coincide con index.html */
  color: #E34096;
  transition: 0.3s;
}
#footer .credits a:hover { /* Coincide con index.html */
  color: #EC5AA1;
}


/*--------------------------------------------------------------
# Resto de secciones (About, Features, Cta, Portfolio, etc.)
# Se deben revisar y ajustar colores para que coincidan con el tema oscuro y acentos rosas.
# A continuación, algunos ejemplos de ajustes comunes:
--------------------------------------------------------------*/

/* About Section */
.about .content ul i {
  color: #E34096; /* Color de acento primario */
}
.about .content .btn-learn-more {
  color: #E34096;
  border: 2px solid #E34096;
}
.about .content .btn-learn-more:hover {
  background: #E34096;
  color: #fff;
}

/* Features Section */
.features .nav-link {
  border: 1px solid rgba(255, 255, 255, 0.2); /* Borde más sutil para tema oscuro */
  color: #F0F0F0; /* Texto claro */
  background-color: rgba(255, 255, 255, 0.05); /* Fondo ligero para tabs */
}
.features .nav-link:hover {
  color: #E34096;
}
.features .nav-link.active {
  background: #E34096;
  color: #fff;
  border-color: #E34096;
}
.features .tab-pane ul i {
  color: #E34096;
}

/* CTA Section */
.cta {
  background: #100C1A; /* Un fondo oscuro, puede ser el mismo que el footer o una variante */
  padding: 80px 0;
}
.cta h3, .cta p {
  color: #fff;
}
.cta .cta-btn {
  color: #fff;
  background: #E34096;
}
.cta .cta-btn:hover {
  background: #EC5AA1;
  color: #fff;
}

/* Portfolio Section */
.portfolio #portfolio-flters li {
  color: #C0C0C0; /* Color subtítulo para filtros inactivos */
}
.portfolio #portfolio-flters li::before,
.portfolio #portfolio-flters li::after {
  color: #C0C0C0; /* Ajustar si es necesario */
}
.portfolio #portfolio-flters li:hover,
.portfolio #portfolio-flters li.filter-active {
  color: #E34096;
}
.portfolio #portfolio-flters li.filter-active::before,
.portfolio #portfolio-flters li.filter-active::after {
  color: #E34096;
}
.portfolio .portfolio-item .portfolio-info {
  background: rgba(0, 0, 0, 0.7); /* Overlay más oscuro para info */
}
.portfolio .portfolio-item .portfolio-info h4 {
  color: #fff;
}
.portfolio .portfolio-item .portfolio-info p {
  color: #f0f0f0; /* Texto claro para descripción */
}
.portfolio .portfolio-item .portfolio-info .preview-link:hover,
.portfolio .portfolio-item .portfolio-info .details-link:hover {
  color: #EC5AA1; /* Hover de acento */
}
.portfolio .portfolio-item .portfolio-links a {
  background: rgba(227, 64, 150, 0.7); /* Fondo con color de acento semitransparente */
}
.portfolio .portfolio-item .portfolio-links a:hover {
  background: #E34096;
}

/* Testimonials Section */
.testimonials .testimonial-item {
  background: rgba(255, 255, 255, 0.05); /* Fondo oscuro sutil */
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.1);
}
.testimonials .testimonial-item .testimonial-img {
  border: 4px solid rgba(255, 255, 255, 0.1); /* Borde sutil para la imagen */
}
.testimonials .testimonial-item h3 {
  color: #F0F0F0; /* Texto claro */
}
.testimonials .testimonial-item h4 {
  color: #C0C0C0; /* Texto subtítulo */
}
.testimonials .testimonial-item .quote-icon-left,
.testimonials .testimonial-item .quote-icon-right {
  color: #EC5AA1; /* Color de acento para comillas */
}
.testimonials .swiper-pagination .swiper-pagination-bullet {
  background-color: rgba(255,255,255,0.5);
  border: 1px solid #E34096;
}
.testimonials .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #E34096;
}

/* Pricing Section */
.pricing .box {
  background: rgba(255, 255, 255, 0.03); /* Fondo muy sutil para cajas de precios */
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.pricing h3 { /* Título del plan (ej. "Free Plan") */
  color: #C0C0C0;
  background: rgba(255, 255, 255, 0.05); /* Fondo ligeramente diferente para el título del plan */
}
.pricing h4 { /* Precio */
  color: #E34096; /* Color de acento para el precio */
}
.pricing h4 span { /* Texto como "/ month" */
  color: #C0C0C0;
}
.pricing ul {
  color: #F0F0F0; /* Texto de características */
}
.pricing ul i { /* Icono de checkmark */
  color: #E34096;
}
.pricing ul .na { /* Característica no disponible */
  color: #888888;
}
.pricing .btn-wrap {
  background: rgba(255, 255, 255, 0.05);
}
.pricing .btn-buy {
  background: #E34096;
  color: #fff;
}
.pricing .btn-buy:hover {
  background: #EC5AA1;
}
.pricing .featured {
  border: 2px solid #E34096;
}
.pricing .featured h3 {
  color: #fff;
  background: #E34096;
}
.pricing .advanced { /* Etiqueta "Advanced" o "Popular" */
  background: #E34096;
  color: #fff;
}

/* F.A.Q Section */
.faq .faq-list li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.faq .faq-list .question {
  color: #E34096; /* Pregunta activa o en hover */
}
.faq .faq-list .collapsed {
  color: #F0F0F0; /* Pregunta colapsada (color por defecto) */
}
.faq .faq-list .collapsed:hover {
  color: #E34096;
}

/* Team Section */
.team {
  background: #1A1423; /* Fondo de sección oscuro */
}
.team .member {
  background: rgba(255, 255, 255, 0.05); /* Fondo de tarjeta de miembro */
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.team .member .social a {
  background: rgba(227, 64, 150, 0.8); /* Rosa semitransparente */
  color: #fff;
}
.team .member .social a:hover {
  background: #E34096; /* Rosa sólido */
}
.team .member .member-info h4 {
  color: #F0F0F0;
}
.team .member .member-info span {
  color: #C0C0C0;
}
.team .member .member-info p {
  color: #b0b0b0; /* Un poco más tenue para el párrafo de descripción */
}

/* Contact Section */
.contact .info {
  background: rgba(255, 255, 255, 0.05); /* Fondo para la caja de información */
  padding: 20px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,0.1);
}
.contact .info i {
  color: #E34096;
  background: rgba(227, 64, 150, 0.15); /* Fondo sutil para el icono */
}
.contact .info h4 {
  color: #F0F0F0;
}
.contact .info p {
  color: #C0C0C0;
}
.contact .info .email:hover i,
.contact .info .address:hover i,
.contact .info .phone:hover i {
  background: #E34096;
  color: #fff;
}
.contact .php-email-form { /* Formulario de contacto */
  background: rgba(255, 255, 255, 0.05);
  padding: 30px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,0.1);
}
.contact .php-email-form input,
.contact .php-email-form textarea {
  border-radius: 5px;
  box-shadow: none;
  font-size: 14px;
  background-color: rgba(0,0,0,0.2);
  border: 1px solid rgba(255,255,255,0.2);
  color: #F0F0F0;
}
.contact .php-email-form input::placeholder,
.contact .php-email-form textarea::placeholder {
  color: #a0a0a0;
}
.contact .php-email-form button[type="submit"] {
  background: #E34096;
  border: 0;
  padding: 10px 24px;
  color: #fff;
  transition: 0.4s;
  border-radius: 50px;
}
.contact .php-email-form button[type="submit"]:hover {
  background: #EC5AA1;
}

/* Breadcrumbs (si se usan) */
.breadcrumbs {
  background: #100C1A; /* Fondo oscuro para breadcrumbs */
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.breadcrumbs h2 {
  color: #F0F0F0;
}
.breadcrumbs ol li {
  color: #C0C0C0;
}
.breadcrumbs ol li a {
  color: #E34096;
}
.breadcrumbs ol li a:hover {
  color: #EC5AA1;
}
.breadcrumbs ol li + li::before {
  color: #888888; /* Color del separador */
}

/* Modal Z-index (ya estaba en tu style.css, se mantiene por si es necesario) */
.modal {
  z-index: 1055 !important;
}
.modal-backdrop {
  z-index: 1050 !important; /* Generalmente es menor que el modal */
}