* {
  font-family: "Montserrat";
}
a {
  text-decoration: none;
}
select option:hover {
  background-color: var(--color-blue) !important;
}

* {
  scrollbar-color: var(--color-blue-dark) var(--color-white); /* thumb (barra) + track (fondo) */
}
textarea,
input,
select,
.form-control {
  font-size: 12px !important;

  color: var(--color-blue-dark);
}
textarea:read-only,
input:read-only,
select:read-only {
  background-color: var(--color-gray-light);
}
.py-10 {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem;
}
#close-sidebar {
  display: none;
}
#pageContent {
  margin-top: 100px;
  width: calc((100%) - (260px));
  float: right;
}

/* Chrome, Edge y Safari */

::-webkit-scrollbar-track {
  background: var(--color-white); /* fondo del scroll */
  border-radius: 8px;
}

::-webkit-scrollbar-thumb {
  background: var(--color-blue-dark); /* color del thumb */
  border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-blue-dark); /* hover */
}
.mt-50 {
  margin-top: 50px;
}
.mt-65 {
  margin-top: 65px;
}
.mt-90 {
  margin-top: 90px;
}
.mt-110 {
  margin-top: 110px;
}
.mt-130 {
  margin-top: 130px;
}
.mb-130 {
  margin-bottom: 130px;
}
.navbar-toggler {
  border: none;
}
.navbar-toggler:focus {
  box-shadow: none;
}
.form-control:focus,
.form-select:focus {
  box-shadow: none !important;
  outline: none !important;
}
.bg-gray {
  background-color: var(--color-gray-light);
}
.bg-burble {
  background-image: url("../img/bg-burble.jpg");
}
.bg-transparent {
  background-color: transparent;
}
.text-blue {
  color: var(--color-blue) !important;
}
.text-blue-dark {
  color: var(--color-blue-dark);
}
.text-red {
  color: var(--color-red);
}
.text-green {
  color: var(--color-green);
}
.text-gray {
  color: var(--color-gray-light);
}
.font-bold {
  font-weight: 900;
}
.alert-blue-light > .alert-blue-light {
  margin: 0px;
  padding: 0px;
}
.alert-blue-light {
  color: var(--color-blue-dark);
  background-color: var(--color-blue-light);
}
.form-control {
  color: var(--color-blue-dark);
}

#btnFilters {
  color: var(--color-white);
  border-color: var(--color-blue);
  background-color: var(--color-blue);
}
/***ICONS***/
div[class^="ico18"],
span[class^="ico18"],
i[class^="ico18"] {
  margin: auto;
  width: 18px;
  height: 18px;
  background-size: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
}
.ico18Close {
  background-image: url(../img/ico/close.png);
}

div[class^="ico14"] {
  margin: auto;
  width: 14px;
  height: 14px;
  background-size: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
}
#btnClose {
  margin: 20px;
  float: right;
  cursor: pointer;
  position: absolute;
  right: 0px;
  top: 0px;
}
.ico14Close {
  background-image: url(../img/ico/close.png);
}
/**************************************UI AUTOCOMPLETE*****************************************/
.clear-autocomplete {
  width: 12px !important;
  height: 12px !important;
  margin: -32px 15px !important;
  float: right;
  cursor: pointer;
}
.clear-autocomplete-toolbar {
  width: 12px !important;
  height: 12px !important;
  margin: -20px 15px !important;
  float: right;
  cursor: pointer;
}
.autocomplete {
  padding-right: 30px;
}
.ui-helper-hidden-accessible {
  display: none;
}
.ui-autocomplete {
  position: absolute;
  top: 0;
  left: 0;
  cursor: default;
}
.ui-autocomplete .ui-menu-item .ui-menu-item-wrapper {
  padding: 6px 12px;
  color: var(--color-blue-dark);
  font-size: 14px;
}
.ui-autocomplete .ui-menu-item .ui-state-active {
  padding: 6px 12px;
  border: 0px !important;
  background-color: var(--color-blue) !important;
  color: var(--color-white);
  font-size: 14px;
}
.ui-menu {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
  outline: none;
}
.ui-menu .ui-menu {
  position: absolute;
}
.ui-menu .ui-menu-item {
  position: relative;
  margin: 0;
  cursor: pointer;
  min-height: 0;
  list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}
.ui-menu .ui-menu-divider {
  margin: 5px 0;
  height: 0;
  font-size: 0;
  line-height: 0;
  border-width: 1px 0 0 0;
}
.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
  margin: -1px;
}
.ui-menu-icons {
  position: relative;
}
.ui-menu-icons .ui-menu-item {
  padding-left: 2em;
}
.ui-widget {
  color: var(--color-blue-dark);
  font-size: 14px;
}
.ui-widget .ui-widget {
  font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
  color: var(--color-blue-dark);
  font-size: 14px;
}
.ui-widget-content {
  z-index: 3;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: var(--color-white) url("images/ui-bg_flat_75_ffffff_40x100.png")
    50% 50% repeat-x;
  color: var(--color-blue-dark);
}
.btn-check:checked + .btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check) + .dropdown-border-0:active {
  background-color: unset !important;
}

.mt-navbar {
  margin-top: 130px;
}
/***NAVBAR***/
nav .container-fluid .navbar-collapse .navbar-nav .nav-item .nav-link {
  color: var(--color-blue-dark);
  font-weight: 600;
}
nav .container-fluid .navbar-collapse .navbar-nav .nav-item .active {
  color: var(--color-blue);
}
nav .container-fluid .navbar-collapse .navbar-nav .nav-item .nav-link:hover {
  opacity: 0.7;
}
nav
  .container-fluid
  .navbar-collapse
  .navbar-nav
  .nav-item
  .dropdown-menu
  li
  .dropdown-item {
  color: var(--color-blue-dark);
  font-weight: 600;
}

nav
  .container-fluid
  .navbar-collapse
  .navbar-nav
  .nav-item
  .dropdown-menu
  li
  .dropdown-item:hover {
  opacity: 0.7;
  background-color: var(--color-white);
}
.navbar-nav .dropdown-menu {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  background-color: var(--color-white);
  border: none;
}
.navbar-nav .dropdown-menu li a:hover {
  background-color: transparent !important;
}
.bg-light {
  background-color: var(--color-white) !important;
}
@media screen and (max-width: 991px) {
  .navbar-nav .dropdown-menu {
    box-shadow: none;
  }
}
/***HERO***/
section,
.section {
  color: var(--color-white);
  scroll-margin-top: 90px;
  padding: 0px;
  overflow: clip;
}
.clean-hero {
  min-height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  padding: 0px;
  overflow: hidden;
}

.clean-hero .hero-content {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 120px 0px;
}
.clean-hero .hero-background {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.clean-hero .hero-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.clean-hero .hero-overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--color-gray), transparent 50%) 0%,
    color-mix(in srgb, var(--color-gray), transparent 50%) 100%
  );
}
.clean-hero .container {
  position: relative;
  z-index: 3;
}
.clean-hero .hero-text {
  margin: 3rem 0rem;
}
.clean-hero .hero-text h1 {
  color: var(--color-blue-dark);
  font-weight: 900;
}
.clean-hero .hero-text .hero-subtitle {
  color: var(--color-blue-dark);
}
.clean-hero .booking-card {
  margin-bottom: 3rem;
}
.clean-hero .booking-card .card {
  background-color: color-mix(in srgb, var(--color-white), transparent 50%);
  backdrop-filter: blur(5px);
  box-shadow: 0 20px 40px
    color-mix(in srgb, var(--color-white), transparent 85%);
  border-radius: 15px;
  border: 1px solid color-mix(in srgb, var(--color-white), transparent 80%);
}
.clean-hero .booking-card .card-body {
  padding: 2rem;
}
.clean-hero .booking-card .form-label {
  color: var(--color-blue-dark);
  font-weight: 600;
  margin: 0.5rem 0rem;
}
.clean-hero .booking-card input[type="text"],
.clean-hero .booking-card select {
  color: var(--color-blue-dark);
  background-color: var(--color-white);
  font-size: 0.95rem;
  border: 2px solid color-mix(in srgb, var(--color-gray), transparent 85%);
  border-radius: 8px;
  padding: 0.75rem;
  transition: 0.3s;
}
.clean-hero .booking-card .btn-primary {
  font-weight: 600;
  background: linear-gradient(
    135deg,
    var(--color-blue-dark),
    color-mix(in srgb, var(--color-blue-dark), var(--color-blue-dark) 20%)
  );
  border-width: initial;
  border-style: none;
  border-color: initial;
  border-image: initial;
  border-radius: 8px;
  padding: 0.75rem 1.5rem;
  transition: 0.3s;
}
.clean-hero .booking-card .btn-primary i {
  margin-right: 0.5rem;
}
.clean-hero .hero-actions {
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
  gap: 1rem;
}

/***ABOUT***/
.about {
  padding: 50px 0px;
  background-color: var(--color-white);
  position: relative;
}
.about .about-content h2 {
  color: var(--color-blue-dark);
  font-size: 42px;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 20px;
}
.about .about-content p {
  color: var(--color-blue-dark);
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 25px;
}

.about .about-content .btn-consultation {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-blue);
  color: var(--color-white);
  padding: 12px 24px;
  border-radius: 4px;
  font-weight: 600;
  transition: all 0.3s ease;
}
.about .about-slider {
  position: relative;
  margin-top: 30px;
  padding-top: 30px;
}
.about .about-slider .swiper-wrapper {
  height: auto !important;
}
.about .about-card {
  background-color: var(--color-white);
  padding: 32px;
  border-radius: 16px;
  position: relative;
  transition: all 0.4s;
  overflow: hidden;
  height: 100%;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}
.about .about-card:hover {
  background-color: var(--color-blue);
}
.about .about-card .icon-box {
  height: 70px;
  width: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-blue);
  border-radius: 50%;
  margin-bottom: 20px;
  transition: all 0.4s;
}
.about .about-card:hover .icon-box {
  background-color: var(--color-white);
}
.about .about-card .icon-box i {
  color: var(--color-white);
  font-size: 30px;
  transition: all 0.4s;
}
.about .about-card:hover .icon-box i {
  color: var(--color-blue);
}
.about .about-card .content h4 a {
  color: var(--color-blue-dark);
  font-size: 22px;
  font-weight: 900;
  margin-bottom: 15px;
}
.about .about-card:hover .content h4 a {
  color: var(--color-white);
}

.about .about-card .content p {
  color: var(--color-blue-dark);
}
.about .about-card:hover .content p {
  color: var(--color-white);
}
/***OFERTAS***/
.oferta {
  padding-top: 50px;
  background-color: var(--color-gray-light);
}
.oferta h2 {
  margin-bottom: 60px;
  text-align: center;
  color: var(--color-blue-dark);
  font-weight: 900;
}
.oferta h2 span {
  color: var(--color-blue);
}

.oferta-item:hover .oferta-card,
.oferta-item.active .oferta-card {
  background-color: var(--color-blue-light) !important;
}

.oferta .oferta-card {
  background-color: var(--color-white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  margin-bottom: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 1px solid color-mix(in srgb, var(--color-black), transparent 92%);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.oferta .oferta-card .card-image {
  position: relative;
  overflow: hidden;
  height: 240px;
  background-color: color-mix(in srgb, var(--color-black), transparent 97%);
}
.oferta .oferta-card .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.oferta .oferta-card .card-image .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--color-blue), transparent 15%),
    color-mix(in srgb, var(--color-blue), transparent 30%)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.oferta .oferta-card .card-image .overlay .icon-btn {
  width: 48px;
  height: 48px;
  background-color: var(--color-blue);
  color: var(--color-blue);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.oferta .oferta-card .card-image .tag {
  position: absolute;
  top: 16px;
  right: 16px;
  background-color: var(--color-blue);
  color: var(--color-white);
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px color-mix(in srgb, var(--color-blue), transparent 60%);
}

.oferta .oferta-card .card-content {
  padding: 24px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.oferta .oferta-card .card-content .meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.oferta .oferta-card .card-content .meta span {
  color: var(--color-blue);
  font-weight: 700;
  font-size: 13px;
}

.oferta .oferta-card .card-content h3 {
  min-height: 52px;
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 12px;
  color: var(--color-blue-dark);
  line-height: 1.3;
  letter-spacing: -0.01em;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.oferta .oferta-card .card-content p {
  min-height: 67.2px;
  font-size: 14px;
  color: color-mix(in srgb, var(--color-blue-dark), transparent 35%);
  margin-bottom: 16px;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.oferta .oferta-card .card-content .view-project {
  font-size: 14px;
  font-weight: 600;
  color: var(--color-blue);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.oferta .cta-box .btn-primary {
  display: block;
  text-align: center;
  margin: 60px 0px;
  color: var(--color-white);
  font-weight: 600;
}
/***FAQ***/
.faq {
  padding: 50px 0px;
  background-color: var(--color-white);
}

.faq .section-title h2 {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-blue-dark);
  margin-bottom: 1rem;
}
.faq .section-title {
  margin: 30 auto;
  text-align: center;
}
.faq .section-title p {
  color: var(--color-blue-dark);
}
.faq .section-title .lead {
  font-size: 1.1rem;
  color: color-mix(in srgb, var(--color-blue-dark), transparent 25%);
  line-height: 1.6;
}

.faq .faq-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.faq .faq-item {
  border-left: 4px solid transparent;
  border-radius: 10px;
  background: var(--color-white);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
  overflow: hidden;
}

.faq .faq-item:last-child {
  margin-bottom: 0;
}

.faq .faq-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  border-left-color: color-mix(in srgb, var(--color-blue), transparent 50%);
}

.faq .faq-item.faq-active {
  border-left-color: var(--color-blue);
}

.faq .faq-item.faq-active .faq-header .faq-icon {
  background: var(--color-blue);
  color: var(--color-white);
}

.faq .faq-item.faq-active .faq-header h4 {
  color: var(--color-blue-dark);
}

.faq .faq-item.faq-active .faq-header .faq-toggle {
  background: var(--color-blue-dark);
  color: var(--color-white);
}

.faq .faq-item.faq-active .faq-header .faq-toggle i.bi-plus {
  display: none;
}

.faq .faq-item.faq-active .faq-header .faq-toggle i.bi-dash {
  display: block;
}

.faq .faq-item.faq-active .faq-content {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
}

.faq .faq-item:not(.faq-active) .faq-header .faq-toggle i.bi-plus {
  display: block;
}

.faq .faq-item:not(.faq-active) .faq-header .faq-toggle i.bi-dash {
  display: none;
}

.faq .faq-item .faq-header {
  display: flex;
  align-items: center;
  padding: 25px;
  cursor: pointer;
  gap: 20px;
}

.faq .faq-item .faq-header .faq-icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--color-blue-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-blue);
  font-size: 20px;
  transition: all 0.3s ease;
}

.faq .faq-item .faq-header h4 {
  flex: 1;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-blue-dark);
  transition: color 0.3s ease;
  line-height: 1.4;
}

.faq .faq-item .faq-header .faq-toggle {
  flex-shrink: 0;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-blue-dark), transparent 85%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-blue-dark);
  font-size: 16px;
  transition: all 0.3s ease;
  position: relative;
}

.faq .faq-item .faq-header .faq-toggle i {
  position: absolute;
  transition: all 0.3s ease;
}

.faq .faq-item .faq-header .faq-toggle:hover {
  background: var(--color-blue);
  color: var(--color-white);
}

.faq .faq-item .faq-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.3s ease-in-out;
  visibility: visible;
  opacity: 1;
}

.faq .faq-item .faq-content .content-inner {
  padding: 0 25px 25px 25px;
  /*overflow: hidden;*/
}

.faq .faq-item .faq-content .content-inner p {
  margin: 0;
  padding: 10px;
  color: color-mix(in srgb, var(--color-blue-dark), transparent 20%);
  line-height: 1.6;
  font-size: 0.95rem;
  overflow: hidden;
}

@media (max-width: 768px) {
  .faq .faq-item .faq-header {
    padding: 20px;
    gap: 15px;
  }

  .faq .faq-item .faq-header .faq-icon {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }

  .faq .faq-item .faq-header h4 {
    font-size: 1rem;
  }

  .faq .faq-item .faq-header .faq-toggle {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }

  .faq .faq-item .faq-content .content-inner {
    padding: 0 20px;
  }

  .faq .faq-item.faq-active .faq-content .content-inner {
    padding-bottom: 20px;
  }
}
/***ARTICLES***/

.articles {
  padding: 50px 0px;
  background-color: var(--color-gray-light);
}
.articles .cta-wrapper .cta-box {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--color-white), transparent 15%),
    color-mix(in srgb, var(--color-white), transparent 5%)
  );
  border-radius: 20px;
  padding: 40px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 15px 40px
    color-mix(in srgb, var(--color-black), transparent 85%);
}

.articles .cta-wrapper .cta-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("assets/img/bg/dotted-world-1.webp");
  background-size: cover;
  opacity: 0.05;
  z-index: 1;
}

.articles .cta-wrapper .cta-box .cta-image {
  position: relative;
  z-index: 2;
}

.articles .cta-wrapper .cta-box .cta-image img {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border: 5px solid color-mix(in srgb, var(--color-blue-dark), transparent 15%);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

@media (max-width: 991px) {
  .articles .cta-wrapper .cta-box .cta-image img {
    margin-bottom: 30px;
  }
}

.articles .cta-wrapper .cta-box .cta-content {
  position: relative;
  z-index: 2;
}

.articles .cta-wrapper .cta-box .cta-content h3 {
  font-size: 1.8rem;
  font-weight: 900;
  margin-bottom: 15px;
  color: var(--color-blue-dark);
}

.articles .cta-wrapper .cta-box .cta-content p {
  color: color-mix(in srgb, var(--color-blue-dark), transparent 15%);
  margin-bottom: 25px;
  font-size: 1rem;
  line-height: 1.6;
}

.articles .cta-wrapper .cta-box .cta-content .primary-btn {
  display: inline-block;
  background-color: var(--color-blue);
  color: var(--color-white);
  padding: 12px 25px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 0.95rem;
  transition: all 0.3s ease;
}

.articles .cta-wrapper .cta-box .cta-content .primary-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

@media (max-width: 991px) {
  .articles .cta-wrapper .cta-box .cta-content {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .articles {
    padding: 60px 0;
  }

  .articles .services-container .service-item {
    flex-direction: column;
  }

  .articles .services-container .service-item .service-icon {
    flex: 0 0 auto;
    height: 80px;
    width: 100%;
  }

  .articles .cta-wrapper .cta-box {
    padding: 30px 20px;
  }
}

@media (max-width: 750px) {
  .col-article {
    width: 100%;
  }
  .col-article img {
    width: 100% !important;
    height: 150px !important;
  }
}
/***CONTACT***/
.contact {
  padding: 50px 0px;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background:
    linear-gradient(rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.7) 0%),
    url(../img/bg-burble.jpg);
}
.contact h2 {
  color: var(--color-blue-dark);
  font-weight: 900;
  text-align: center;
  margin: auto;
}
.contact p {
  color: var(--color-blue-dark);
  text-align: center;
  margin: auto;
}
.contact input::placeholder,
textarea::placeholder {
  color: var(--color-blue-dark);
}
.contact #btnOk {
  color: var(--color-white);
  background-color: var(--color-blue);
  font-weight: 700;
  border: none;
  font-size: 16px;
  letter-spacing: 1px;
  display: block;
  padding: 12px 40px;
  border-radius: 5px;
  transition: 0.5s;
  margin: 10px auto;
  text-decoration: none;
  text-align: center;
}
.contact input[type="text"],
.contact textarea {
  color: var(--color-blue-dark);
  background-color: var(--color-white);
  font-size: 0.95rem;
  border: 2px solid color-mix(in srgb, var(--color-gray), transparent 85%);
  border-radius: 8px;
  padding: 0.75rem;
  transition: 0.3s;
}
.error-label {
  font-weight: 700;
  font-size: 12px;
  color: var(--color-red);
  margin: 5px 2px;
}
.success-form {
  font-weight: 700;
  font-size: 12px;
  color: var(--color-green);
  margin: 5px 2px;
}

#loading {
  width: 100%;
  margin-top: 30px;
}
#loading .spinner-border {
  border: rgba(0, 170, 214, 1) solid;
  border-right-color: transparent;
  margin: 0px auto;
  display: block;
}

#pageContent {
  min-height: calc((100vh) - (513px));
  display: flex;
  flex-direction: column;
  flex: 1;
}
/***FOOTER***/
.footer {
  overflow: hidden;
  width: 100%;
  flex-shrink: 0;
  padding: 4rem;
  color: var(--color-white);
  background-color: var(--color-blue-dark);
  font-size: 14px;
  padding-bottom: 50px;
  position: relative;
}

.footer .footer-top {
  padding-top: 50px;
}

.footer .social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  border: 1px solid color-mix(in srgb, var(--color-white), transparent 50%);
  font-size: 16px;
  color: color-mix(in srgb, var(--color-white), transparent 20%);
  margin-right: 10px;
  transition: 0.3s;
}
.footer .footer-links a:hover {
  opacity: 0.7;
}

.footer .social-links a:hover {
  color: var(--color-blue);
}

.footer h4 {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  padding-bottom: 12px;
}

.footer .footer-links {
  margin-bottom: 30px;
}

.footer .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer-links ul i {
  margin-right: 3px;
  font-size: 12px;
  line-height: 0;
  color: var(--accent-color);
}

.footer .footer-links ul li {
  padding: 10px 0;
  display: flex;
  align-items: center;
}

.footer .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-links ul a {
  display: inline-block;
  color: color-mix(in srgb, var(--default-color), transparent 20%);
  line-height: 1;
}

.footer .footer-links ul a:hover {
  color: var(--accent-color);
}

.footer .footer-about a {
  color: var(--heading-color);
  font-size: 14px;
}

.footer .footer-contact p {
  margin-bottom: 5px;
}

.footer .copyright {
  padding-top: 25px;
  padding-bottom: 25px;
  border-top: 1px solid
    color-mix(in srgb, var(--default-color), transparent 90%);
}

.footer .copyright p {
  margin-bottom: 0;
}

.footer .credits {
  margin-top: 6px;
  font-size: 13px;
}
/***LEGAL INFORMATION***/
.legal-information {
  margin: 70px 0px;
}
.legal-information .container {
  padding: 3rem;
  background-color: var(--color-white);
  border-radius: 10px;
}

.legal-information span {
  color: var(--color-blue-dark);
}
.legal-information h2 {
  color: var(--color-blue-dark);
  font-weight: 900;
}

.legal-information p {
  color: var(--color-blue-dark);
}
/***HERO-RESENAS***/
.hero-resenas {
  padding: 140px 0 60px 0;
  background: linear-gradient(
    135deg,
    var(--surface-color) 0%,
    color-mix(in srgb, var(--accent-color), transparent 95%) 100%
  );
  position: relative;
  overflow: hidden;
}

.hero-resenas::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
    circle at 20% 80%,
    color-mix(in srgb, var(--accent-color), transparent 90%) 0%,
    transparent 50%
  );
  pointer-events: none;
}

.hero-resenas-content {
  padding: 20px 0;
}

.hero-resenas-title {
  font-size: 3.5rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 32px;
  color: var(--color-blue-dark);
}

@media (max-width: 768px) {
  .hero-resenas-title {
    font-size: 2.5rem;
    margin-bottom: 24px;
  }
}

.hero-resenas-description {
  font-size: 1.25rem;
  line-height: 1.7;
  color: color-mix(in srgb, var(--color-blue-dark), transparent 20%);
  margin-bottom: 48px;
  font-weight: 300;
}

@media (max-width: 768px) {
  .hero-resenas-description {
    font-size: 1.125rem;
    margin-bottom: 40px;
  }
}

.hero-resenas-visual {
  position: relative;
}

.hero-resenas-image-wrapper {
  position: relative;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.hero-resenas-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 992px) {
  .hero-resenas {
    padding: 80px 0;
  }
}

@media (max-width: 768px) {
  .hero-resenas {
    padding: 60px 0;
  }
}
/***FEEDBACK***/

.feedback {
  background-image: url(../img/bg-burble.jpg);
  padding: 100px 0px 170px 0px;
  background-size: cover;
  background-repeat: no-repeat;
}
.feedback .feedback-top {
  padding: 0 60px 0 100px;
}
.feedback .feedback-top .row .title-area .subtitle {
  text-align: center;
  font-family: "Montserrat";
  color: var(--color-blue-dark);
  font-size: 35px;
  font-weight: 900;
}
.feedback .feedback-top .row .title-area p {
  text-align: center;
  font-family: "Montserrat";
  color: var(--color-blue-dark);
  font-size: 16px;
  font-weight: 500;
}
@media (max-width: 991.98px) {
  .feedback .feedback-top {
    padding: 0;
    text-align: center;
  }
}

@media (max-width: 991.98px) {
  .feedback .feedback-top .bf-desc {
    width: 80%;
    margin: auto;
    margin-top: 20px;
  }
}

@media (max-width: 767.98px) {
  .feedback .feedback-top .bf-desc {
    width: 100%;
  }
}

.feedback .feedback-slider {
  margin-top: 60px;
  display: flex;
}
.feedback .feedback-slider .feedback-column {
  position: relative;
  background-color: var(--color-white);
  padding: 40px 30px 50px 30px;
}
.feedback .feedback-slider .feedback-column::after {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  width: 60px;
  height: 60px;
  background-color: #dfe6e7;
  z-index: 2;
  -webkit-clip-path: polygon(0 0, 100% 100%, 100% 0);
  clip-path: polygon(0 0, 100% 100%, 100% 0);
}
.feedback .feedback-slider .feedback-column .quote-icon {
  position: absolute;
  top: -65px;
  left: 20px;
  display: inline-block;
  font-family: "Montserrat";
  font-size: 160px;
  font-weight: bold;
  line-height: 0;
  letter-spacing: -13px;
  color: #adb0b4;
  -webkit-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.feedback .feedback-slider .feedback-column .feedback-rating {
  text-align: right;
}

.feedback .feedback-slider .feedback-column .feedback-rating .fa-star {
  color: var(--color-blue-dark);
}
.feedback .feedback-slider .feedback-column .feedback-rating .star-active {
  color: #ffc601;
}
.feedback .feedback-slider .feedback-column .feedback-client-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 20px;
  position: absolute;
  bottom: -60px;
  left: 40px;
}
.feedback
  .feedback-slider
  .feedback-column
  .feedback-client-info
  .client-thumb {
  width: 95px;
  height: 95px;
  border-radius: 50%;
  position: relative;
}
.feedback
  .feedback-slider
  .feedback-column
  .feedback-client-info
  .client-thumb
  img {
  border-radius: 50%;
  background-color: var(--color-white);
  padding: 4px;
  position: relative;
  z-index: 2;
}
.feedback
  .feedback-slider
  .feedback-column
  .feedback-client-info
  .client-thumb
  .svg-1 {
  fill: #dfe6e7;
  position: absolute;
  top: -10px;
  left: 0px;
  -webkit-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.feedback
  .feedback-slider
  .feedback-column
  .feedback-client-info
  .client-thumb
  .svg-2 {
  fill: #adb0b4;
  position: absolute;
  bottom: -10px;
  left: 0px;
  -webkit-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.feedback
  .feedback-slider
  .feedback-column
  .feedback-client-info
  .clients-name {
  padding-bottom: 5px;
}
.feedback
  .feedback-slider
  .feedback-column
  .feedback-client-info
  .clients-name
  h6 {
  color: #3a4268;
  font-weight: 700;
  font-family: "Montserrat";
}
.feedback
  .feedback-slider
  .feedback-column
  .feedback-client-info
  .clients-name
  span {
  color: #3a4268;
  font-size: 14px;
}
.feedback .feedback-slider .feedback-column:hover .quote-icon {
  color: var(--color-blue-dark);
}
.feedback
  .feedback-slider
  .feedback-column:hover
  .feedback-client-info
  .client-thumb
  .svg-1 {
  fill: var(--color-blue);
}
.feedback
  .feedback-slider
  .feedback-column:hover
  .feedback-client-info
  .client-thumb
  .svg-2 {
  fill: var(--color-blue-dark);
}
.feedback .feedback-slider .feedback-column .feedback-content p {
  font-family: "Montserrat";
  font-size: 16px;
  color: var(--color-blue-dark);
  font-weight: 500;
}
.feedback .feedback-slider .slick-list {
  padding: 30px 0 100px 0;
  margin: 0 -15px;
}
.feedback .feedback-slider .slick-list .slick-slide {
  margin: 0 15px;
}
.feedback .feedback-slider .slick-dots {
  position: absolute;
  bottom: -60px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.feedback .feedback-slider .slick-dots li {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid transparent;
  padding: 3px;
  text-align: center;
  line-height: 20px;
  -webkit-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.feedback .feedback-slider .slick-dots li button {
  font-size: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background-color: #8b90a7;
  -webkit-transition: all 0.3s ease-in;
  -o-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
}
.feedback .feedback-slider .slick-dots li.slick-active {
  border: 2px solid var(--color-blue-dark);
}
.feedback .feedback-slider .slick-dots li.slick-active button {
  background-color: var(--color-blue-dark);
}
@media (max-width: 1199px) {
  .feedback .feedback-slider {
    display: block;
  }
  .feedback .feedback-slider .col-md-4 {
    width: 100% !important;
  }
  .feedback .feedback-slider .mt-feedback {
    margin-top: 115px;
  }
}
@media (max-width: 767.98px) {
  .feedback .feedback-slider {
    padding: 0px 10px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
/*** REVIEW-AUTHENTICITY***/
.review-authenticity {
  padding: 50px 0px;
}
.review-authenticity h2 {
  color: var(--color-blue-dark);
  font-weight: 900;
}
.review-authenticity p {
  color: var(--color-blue-dark);
}
.review-authenticity div b {
  color: var(--color-blue-dark);
}
.review-authenticity div p {
  color: var(--color-blue-dark);
}

/***FAQ RESENAS ***/
.faq-resenas {
  padding: 50px 0px;
  background-color: var(--color-gray-light);
}
.faq-resenas .section-title h2 {
  font-size: 2.5rem;
  font-weight: 900;
  text-align: center;
  color: var(--color-blue-dark);
  margin-bottom: 1rem;
}
.faq-resenas .section-title p {
  text-align: center;
  color: var(--color-blue-dark);
}

.faq-resenas .section-header .lead {
  font-size: 1.1rem;
  color: color-mix(in srgb, var(--color-blue-dark), transparent 25%);
  line-height: 1.6;
}

.faq-resenas .faq-resenas-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.faq-resenas .faq-resenas-item {
  border-left: 4px solid transparent;
  border-radius: 10px;
  background: var(--color-white);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
  overflow: hidden;
}

.faq-resenas .faq-resenas-item:last-child {
  margin-bottom: 0;
}

.faq-resenas .faq-resenas-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  border-left-color: var(--color-blue-light);
}

.faq-resenas .faq-resenas-item.faq-active {
  border-left-color: var(--color-blue);
}

.faq-resenas
  .faq-resenas-item.faq-active
  .faq-resenas-header
  .faq-resenas-icon {
  background: var(--color-blue);
  color: var(--color-whiter);
}

.faq-resenas .faq-resenas-item.faq-active .faq-resenas-header h4 {
  color: var(--color-blue-dark);
}

.faq-resenas
  .faq-resenas-item.faq-active
  .faq-resenas-header
  .faq-resenas-toggle {
  background: var(--color-blue);
  color: var(--color-white);
}

.faq-resenas
  .faq-resenas-item.faq-active
  .faq-resenas-header
  .faq-resenas-toggle
  i.bi-plus {
  display: none;
}

.faq-resenas
  .faq-resenas-item.faq-active
  .faq-resenas-header
  .faq-resenas-toggle
  i.bi-dash {
  display: block;
}

.faq-resenas .faq-resenas-item.faq-active .faq-resenas-content {
  grid-template-rows: 1fr;
  visibility: visible;
  opacity: 1;
}

.faq-resenas
  .faq-resenas-item:not(.faq-active)
  .faq-resenas-header
  .faq-resenas-toggle
  i.bi-plus {
  display: block;
}

.faq-resenas
  .faq-resenas-item:not(.faq-active)
  .faq-resenas-header
  .faq-resenas-toggle
  i.bi-dash {
  display: none;
}

.faq-resenas .faq-resenas-item .faq-resenas-header {
  display: flex;
  align-items: center;
  padding: 25px;
  cursor: pointer;
  gap: 20px;
}

.faq-resenas .faq-resenas-item .faq-resenas-header .faq-resenas-icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--color-blue-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-blue);
  font-size: 20px;
  transition: all 0.3s ease;
}

.faq-resenas .faq-resenas-item .faq-resenas-header h4 {
  flex: 1;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-blue-dark);
  transition: color 0.3s ease;
  line-height: 1.4;
}

.faq-resenas .faq-resenas-item .faq-resenas-header .faq-resenas-toggle {
  flex-shrink: 0;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: var(--color-blue-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-blue);
  font-size: 24px;
  transition: all 0.3s ease;
  position: relative;
}

.faq-resenas .faq-resenas-item .faq-resenas-header .faq-resenas-toggle i {
  position: absolute;
  transition: all 0.3s ease;
}

.faq-resenas .faq-resenas-item .faq-resenas-header .faq-resenas-toggle:hover {
  background: var(--color-blue);
  color: var(--color-white);
}

.faq-resenas .faq-resenas-item .faq-resenas-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.3s ease-in-out;
  visibility: hidden;
  opacity: 0;
}

.faq-resenas .faq-resenas-item .faq-resenas-content .content-inner {
  padding: 0 25px 25px 25px;
  overflow: hidden;
}

.faq-resenas .faq-resenas-item .faq-resenas-content .content-inner p {
  margin: 0;
  color: color-mix(in srgb, var(--color-blue-dark), transparent 20%);
  line-height: 1.6;
  font-size: 0.95rem;
  overflow: hidden;
}

@media (max-width: 768px) {
  .faq-resenas .faq-resenas-item .faq-resenas-header {
    padding: 20px;
    gap: 15px;
  }

  .faq-resenas .faq-resenas-item .faq-resenas-header .faq-resenas-icon {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }

  .faq-resenas .faq-resenas-item .faq-header h4 {
    font-size: 1rem;
  }

  .faq-resenas .faq-resenas-item .faq-resenas-header .faq-resenas-toggle {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }

  .faq-resenas .faq-resenas-item .faq-resenas-content .content-inner {
    padding: 0 20px;
  }

  .faq-resenas
    .faq-resenas-item.faq-active
    .faq-resenas-content
    .content-inner {
    padding-bottom: 20px;
  }
}
.toolForm {
  width: 100%;

  display: inline-block;
  position: relative;
  background-color: var(--color-white);
}
.toolForm .btn {
  padding: 6px;
  border: none;
}
.toolForm .btn:hover {
  background-color: transparent;
}
.toolForm .btn:hover i {
  background-color: transparent;
}
.toolForm .btn i {
  border: none;
  color: var(--color-blue);
  font-weight: 700;
}
i[class^="icoTool"] {
  width: 20px;
  height: 20px;
  display: block;
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: center;
}
.icoToolBack {
  background-image: url("../img/ico/back.png");
}
.icoToolSave {
  background-image: url("../img/ico/save.png");
}
.icoToolDelete {
  background-image: url("../img/ico/delete.png");
}
.icoToolPhoto {
  background-image: url("../img/ico/photo.png");
}
/***FORM-WIZARD***/
.bg-white {
  background-color: var(--color-white);
}
#wizardContainer .wrapper #form1 .form-content {
  background-color: var(--color-white);
}

#wizardContainer .wrapper #form1 .form-content h3 {
  color: var(--color-blue-dark);
  text-align: center;
  font-weight: 900;
}
#wizardContainer .wrapper #form1 .form-content p {
  color: var(--color-blue-dark);
  text-align: center;
}
#wizardContainer .wrapper #form1 .form-content .row .col label {
  font-weight: 700;
  color: var(--color-blue-dark);
  font-size: 12px;
}
#wizardContainer .wrapper #form1 .form-content .row .col label a {
  color: var(--color-blue);
  font-size: 12px;
}

#wizardContainer .wrapper #form1 .form-content .row .col a {
  color: var(--color-blue);
  font-size: 12px;
}
#wizardContainer
  .wrapper
  #form1
  .form-content
  .row
  .col
  .input-group
  .btn-outline-secondary {
  background-color: var(--color-blue-dark);
  color: var(--color-white);
  border-color: var(--color-blue-dark);
}
#wizardContainer .wrapper #form1 .form-content .btn-success {
  background-color: var(--color-blue);
  color: var(--color-white);
  border-color: var(--color-blue);
  font-weight: 600;
}
#wizardContainer .wrapper #form1 .form-content .row .alert-blue-light {
  color: var(--color-blue-dark);
  font-size: 12px;
}
#wizardContainer .wrapper #form1 .form-content .row .form-check-input:checked {
  background-color: var(--color-blue);
  border-color: var(--color-blue);
}
#wizardContainer .wrapper #form1 .form-content .row .form-check-input:focus {
  box-shadow: none;
}
#wizardContainer .wrapper #form1 .form-content .row .clear-autocomplete {
  margin: -25px 15px !important;
}
/* Mobile: ocultar columna de imagen izquierda/derecha */
@media (max-width: 991px) {
  .col-lg-5.d-none.d-lg-block {
    display: none !important;
  }
}

/* Imagen top pequeña */
.image-holder-top img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
}
#wizardContainer .wrapper #form1 .form-content .row .list-selector .list-item {
  width: 100%;
  padding: 8px 14px;
  cursor: pointer;
  user-select: none;
  background: var(--color-white);
  color: var(--color-blue-dark);
  transition: 0.2s;
  white-space: nowrap;
  font-size: 12px;
}

#wizardContainer
  .wrapper
  #form1
  .form-content
  .row
  .list-selector
  .list-item.active {
  background: var(--color-blue);
  color: var(--color-white);
  border-color: var(--color-blue) !important;
}
#wizardContainer .wrapper #form1 .form-content .btn-primary {
  background: var(--color-blue);
  color: var(--color-white);
  border-color: var(--color-blue);
  font-weight: 600;
}
#wizardContainer .wrapper #form1 .form-content .btn-secondary {
  background: var(--color-blue-dark);
  font-weight: 600;
  color: var(--color-white);
  border-color: var(--color-blue-dark) !important;
}
.filepond--root {
  width: auto !important;
  max-width: 180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.col .filepond--root {
  margin-left: auto !important;
  margin-right: auto !important;
}

#listaEmpresas .list-group-item {
  cursor: pointer;
}
#listaEmpresas .list-group-item:hover {
  background-color: var(--color-blue-light);
}
#listaEmpresas .list-group-item img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border: 3px solid var(--color-gray-light);
}
#listaEmpresas .list-group-item .flex-grow-1 .title {
  color: var(--color-blue-dark);
  font-weight: 900;
  font-size: 16px;
}
#listaEmpresas .list-group-item div .name {
  color: var(--color-blue);
  margin: 0px;
  font-size: 14px;
  font-weight: 600;
}
#listaEmpresas .list-group-item div .rfc {
  color: var(--color-gra-light);
  margin: 0px;
  font-size: 12px;
}
#listaEmpresas .list-group-item .id-emp {
  background-color: var(--color-blue);
  color: var(--color-white) !important;
  font-size: 14px;
  padding: 10px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-weight: 900;
  text-align: center;
  vertical-align: middle;
  line-height: 30px;
}
#buscadorEmpresas {
  color: var(--color-blue-dark);
}
/****PAGINACION*************/
.active > .page-link,
.page-link.active {
  z-index: 3;
  color: var(--color-white);
  background-color: var(--color-blue);
  border-color: var(--color-blue);
}
.page-link {
  color: var(--color-blue);
  background-color: var(--color-white);
}
/***SIDEBAR***/
@keyframes sonar {
  0% {
    transform: scale(0.9);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
body {
  font-size: 0.9rem;
}
.page-wrapper .sidebar-wrapper,
.sidebar-wrapper .sidebar-brand > a,
.sidebar-wrapper .sidebar-dropdown > a:after,
.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a:before,
.sidebar-wrapper ul li a i,
.page-wrapper .page-content,
.sidebar-wrapper .sidebar-search input.search-menu,
.sidebar-wrapper .sidebar-search .input-group-text,
.sidebar-wrapper .sidebar-menu ul li a,
#show-sidebar,
#close-sidebar {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/*----------------page-wrapper----------------*/

.page-wrapper {
  height: 100vh;
}

.page-wrapper .theme {
  width: 40px;
  height: 40px;
  display: inline-block;
  border-radius: 4px;
  margin: 2px;
}

.page-wrapper .theme.chiller-theme {
  background: var(--color-white);
}

/*----------------toggeled sidebar----------------*/

.page-wrapper.toggled .sidebar-wrapper {
  left: 0px;
}

@media screen and (min-width: 768px) {
  .page-wrapper.toggled .page-content {
    padding-left: 300px;
  }
}
/*----------------show sidebar button----------------*/
#show-sidebar {
  z-index: 1;
  position: fixed;
  left: 0;
  top: 105px;
  border-radius: 0 4px 4px 0px;
  width: 35px;
  transition-delay: 0.3s;
}
.page-wrapper.toggled #show-sidebar {
  left: -40px;
}
/*----------------sidebar-wrapper----------------*/

.sidebar-wrapper {
  width: 260px;
  height: 100%;
  max-height: 100%;
  position: fixed;
  top: 100px;
  left: -300px;
  z-index: 999;
}

.sidebar-wrapper ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.sidebar-wrapper a {
  text-decoration: none;
}

/*----------------sidebar-content----------------*/

.sidebar-content {
  max-height: calc(100% - 130px);
  height: calc(100% - 130px);
  overflow-y: auto;
  position: relative;
  border-right: 2px solid var(--color-gray-light);
}

.sidebar-content.desktop {
  overflow-y: hidden;
}

/*--------------------sidebar-brand----------------------*/

.sidebar-wrapper .sidebar-brand {
  padding: 10px 20px;
  display: flex;
  align-items: center;
}

.sidebar-wrapper .sidebar-brand > a {
  font-weight: bold;
  flex-grow: 1;
}

.sidebar-wrapper .sidebar-brand #close-sidebar {
  cursor: pointer;
  font-size: 20px;
}
/*--------------------sidebar-header----------------------*/

.sidebar-wrapper .sidebar-header {
  padding: 20px;
  overflow: hidden;
}

.sidebar-wrapper .sidebar-header .user-pic {
  float: center;
  width: 100%;
  padding: 2px;
  border-radius: 12px;
  margin-right: 15px;
  overflow: hidden;
}

.sidebar-wrapper .sidebar-header .user-pic img {
  object-fit: cover;
  height: auto;
  width: 95px;
  border: 3px solid var(--color-gray-light);
  border-radius: 50%;
  display: block;
  margin: auto;
}

.sidebar-wrapper .sidebar-header .user-info > span {
  display: block;
}

.sidebar-wrapper .sidebar-header .user-info .user-name {
  font-weight: 600;
  text-align: center;
}
.sidebar-wrapper .sidebar-header .user-info .user-role {
  font-size: 12px;
  text-align: center;
}

.sidebar-wrapper .sidebar-header .user-info .user-status {
  font-size: 11px;
  margin-top: 4px;
}

.sidebar-wrapper .sidebar-header .user-info .user-status i {
  font-size: 8px;
  margin-right: 4px;
  color: #5cb85c;
}

/*-----------------------sidebar-search------------------------*/

.sidebar-wrapper .sidebar-search > div {
  padding: 10px 20px;
}

/*----------------------sidebar-menu-------------------------*/

.sidebar-wrapper .sidebar-menu {
  padding-bottom: 10px;
}

.sidebar-wrapper .sidebar-menu .header-menu span {
  font-weight: bold;
  font-size: 14px;
  padding: 15px 20px 5px 20px;
  display: inline-block;
}

.sidebar-wrapper .sidebar-menu ul li {
  margin: 5px 0px;
}
.sidebar-wrapper .sidebar-menu ul li a {
  display: inline-block;
  width: 100%;
  text-decoration: none;
  position: relative;
  padding: 8px 30px 8px 20px;
}

i[class^="icoSide"] {
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: center;
}
.icoSideDashboard {
  background-image: url("../img/ico/dashboard.png");
}
.icoSideCuenta {
  background-image: url("../img/ico/cuenta.png");
}
.icoSideEmpresa {
  background-image: url("../img/ico/empresa.png");
}

.icoSideArticulos {
  background-image: url("../img/ico/articulos.png");
}
.icoSideOfertas {
  background-image: url("../img/ico/ofertas.png");
}
.icoSidePreguntas {
  background-image: url("../img/ico/preguntas.png");
}

.icoSideResenas {
  background-image: url("../img/ico/resenas.png");
}
.icoSideUsuarios {
  background-image: url("../img/ico/usuarios.png");
}
.icoSideEmpresas {
  background-image: url("../img/ico/empresas.png");
}

.icoSideServicios {
  background-image: url("../img/ico/servicios.png");
}
.icoSideDistintivos {
  background-image: url("../img/ico/distintivos.png");
}
.icoSideLocation {
  background-image: url("../img/ico/location.png");
}

.icoSideClientes {
  background-image: url("../img/ico/clientes.png");
}
.icoSideCotizaciones {
  background-image: url("../img/ico/cotizaciones.png");
}
.icoSideOrdenes {
  background-image: url("../img/ico/ordenes.png");
}

.icoSideFacturas {
  background-image: url("../img/ico/facturas.png");
}
.icoSidePermisos {
  background-image: url("../img/ico/permisos.png");
}
.icoSidePlanes {
  background-image: url("../img/ico/planes.png");
}
.icoSideSoporte {
  background-image: url("../img/ico/soporte.png");
}

.sidebar-wrapper .sidebar-menu ul li a i {
  font-size: 16px;
  margin-right: 10px;
  padding: 10px 22px;
  position: relative;
  background-color: var(--color-blue);
  /*
  font-size: 21px;
  padding: 10px;
  */
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 4px;
}

.sidebar-wrapper .sidebar-menu ul li a:hover > i::before {
  display: inline-block;
  animation: swing ease-in-out 0.5s 1 alternate;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown > a:after {
  font-weight: 900;
  content: "\f105";
  font-style: normal;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  background: 0 0;
  position: absolute;
  right: 15px;
  top: 14px;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu ul {
  padding: 5px 0;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li {
  padding-left: 25px;
  font-size: 13px;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a:before {
  content: "\f111";

  font-weight: 400;
  font-style: normal;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px;
  font-size: 8px;
}

.sidebar-wrapper .sidebar-menu ul li a span.label,
.sidebar-wrapper .sidebar-menu ul li a span.badge {
  float: right;
  margin-top: 8px;
  margin-left: 5px;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a .badge,
.sidebar-wrapper .sidebar-menu .sidebar-dropdown .sidebar-submenu li a .label {
  float: right;
  margin-top: 0px;
}

.sidebar-wrapper .sidebar-menu .sidebar-submenu {
  display: none;
}

.sidebar-wrapper .sidebar-menu .sidebar-dropdown.active > a:after {
  transform: rotate(90deg);
  right: 17px;
}

/*--------------------------side-footer------------------------------*/

.sidebar-footer {
  position: absolute;
  width: 100%;
  bottom: 100px;
  display: flex;
}

.sidebar-footer > a {
  flex-grow: 1;
  text-align: center;
  height: 30px;
  line-height: 30px;
  position: relative;
}

.sidebar-footer > a .notification {
  position: absolute;
  top: 0;
}

.badge-sonar {
  display: inline-block;
  background: #980303;
  border-radius: 50%;
  height: 8px;
  width: 8px;
  position: absolute;
  top: 0;
}

.badge-sonar:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 2px solid #980303;
  opacity: 0;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  animation: sonar 1.5s infinite;
}

/*--------------------------page-content-----------------------------*/

.page-wrapper .page-content {
  display: inline-block;
  width: 100%;
  padding-left: 0px;
  padding-top: 20px;
}

.page-wrapper .page-content > div {
  padding: 20px 40px;
}

.page-wrapper .page-content {
  overflow-x: hidden;
}

/*------scroll bar---------------------*/

::-webkit-scrollbar {
  width: 5px;
  height: 7px;
}
::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}
::-webkit-scrollbar-thumb {
  background: #525965;
  border: 0px none #ffffff;
  border-radius: 0px;
}
::-webkit-scrollbar-thumb:hover {
  background: #525965;
}
::-webkit-scrollbar-thumb:active {
  background: #525965;
}
::-webkit-scrollbar-track {
  background: transparent;
  border: 0px none #ffffff;
  border-radius: 50px;
}
::-webkit-scrollbar-track:hover {
  background: transparent;
}
::-webkit-scrollbar-track:active {
  background: transparent;
}
::-webkit-scrollbar-corner {
  background: transparent;
}

/*-----------------------------chiller-theme-------------------------------------------------*/

.chiller-theme .sidebar-wrapper {
  background: var(--color-white);
}

.chiller-theme .sidebar-wrapper .sidebar-header,
.chiller-theme .sidebar-wrapper .sidebar-search,
.chiller-theme .sidebar-wrapper .sidebar-menu {
  border-top: 1px solid var(--color-gray-light);
}

.chiller-theme .sidebar-wrapper .sidebar-search input.search-menu,
.chiller-theme .sidebar-wrapper .sidebar-search .input-group-text {
  border-color: transparent;
  box-shadow: none;
}

.chiller-theme .sidebar-wrapper .sidebar-header .user-info .user-role,
.chiller-theme .sidebar-wrapper .sidebar-header .user-info .user-status,
.chiller-theme .sidebar-wrapper .sidebar-search input.search-menu,
.chiller-theme .sidebar-wrapper .sidebar-search .input-group-text,
.chiller-theme .sidebar-wrapper .sidebar-brand > a,
.chiller-theme .sidebar-wrapper .sidebar-menu ul li a,
.chiller-theme .sidebar-footer > a {
  color: var(--color-blue-dark);
}

.chiller-theme .sidebar-wrapper .sidebar-menu ul li:hover > a,
.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown.active > a,
.chiller-theme .sidebar-wrapper .sidebar-header .user-info,
.chiller-theme .sidebar-wrapper .sidebar-brand > a:hover,
.chiller-theme .sidebar-footer > a:hover i {
  color: var(--color-blue-dark);
}

.page-wrapper.chiller-theme.toggled #close-sidebar {
  color: #bdbdbd;
}

.page-wrapper.chiller-theme.toggled #close-sidebar:hover {
  color: #ffffff;
}

.chiller-theme .sidebar-wrapper ul li:hover a i,
.chiller-theme
  .sidebar-wrapper
  .sidebar-dropdown
  .sidebar-submenu
  li
  a:hover:before,
.chiller-theme .sidebar-wrapper .sidebar-search input.search-menu:focus + span,
.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown.active a i {
  color: #16c7ff;
  text-shadow: 0px 0px 10px rgba(22, 199, 255, 0.5);
}

.chiller-theme .sidebar-wrapper .sidebar-menu ul li a i,
.chiller-theme .sidebar-wrapper .sidebar-menu .sidebar-dropdown div,
.chiller-theme .sidebar-wrapper .sidebar-search input.search-menu,
.chiller-theme .sidebar-wrapper .sidebar-search .input-group-text {
  /*color: var(--color-blue);*/
}

.chiller-theme .sidebar-wrapper .sidebar-menu .header-menu span {
  color: var(--color-blue-dark);
}

.chiller-theme .sidebar-footer {
  background: var(--color-blue-dark);
}

.chiller-theme .sidebar-footer > a:first-child {
  border-left: none;
}

.chiller-theme .sidebar-footer > a:last-child {
  border-right: none;
}
.chiller-theme .sidebar-footer > a > i {
  color: var(--color-white);
}
#sideBar {
  position: absolute;
}
#sideBar .page-wrapper .btn-dark {
  background: var(--color-blue-dark);
}

/* ****************************************** FANCY BOX ****************************************** */
.fancybox__container {
  --fancybox-bg: rgba(233, 233, 233, 0.5) !important;
}
.fancybox__content > .f-button.is-close-btn {
  --f-button-color: var(--color-white, #fff) !important;
  --f-button-hover-color: var(--color-white, #fff) !important;
}
.fancybox-slide,
.fancybox-content {
  border-radius: 10px !important;
  overflow: hidden !important;
  padding: 10px !important;
}
.fancybox-content {
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
}
.fancybox-slide.fullFrame {
  border-radius: 0px !important;
  padding: 0px !important;
}
.fancybox-slide.fullFrame .fancybox-content {
  border-radius: 0px !important;
}
.fancybox-is-open .fancybox-bg {
  opacity: 0.6 !important;
}

.fancybox-slide,
.fancybox-content {
  border-radius: 10px !important;
  overflow: hidden !important;
  padding: 10px !important;
}
.fancybox-content {
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
}
.fancybox-slide.fullFrame {
  border-radius: 0px !important;
  padding: 0px !important;
}
.fancybox-slide.fullFrame .fancybox-content {
  border-radius: 0px !important;
}
.fancybox-is-open .fancybox-bg {
  opacity: 0.6 !important;
}

.AlertBox {
  /*font-family:'orkneyregular';*/
  min-width: 300px;
  max-height: 600px;
  max-width: 700px;
  min-height: 120px;
  position: relative;
  color: #000;
  font-size: 14px;
  overflow: auto;
  padding-bottom: 30px;
  box-sizing: border-box;
}
.boxScroller {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 40px;
  overflow-x: hidden;
  overflow-x: auto;
}
.AlertTxt {
  margin: 30px 30px 90px 30px;
  color: var(--color-blue-dark);
}
.AlertBar {
  display: flex;
  justify-content: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 20px;
  font-size: 15px;
  text-align: center;
}
.AlertBar .button {
  float: none;
  display: inline;
  padding: 6px 16px;
  border-radius: 0.375rem;
  line-height: 1.7;
  border: 0px;
  margin: 0px 10px;
}
.AlertBar #btnAlertCancel {
  color: var(--color-white);
  background-color: var(--color-blue);
}
.AlertBar #btnAlertOk {
  color: var(--color-blue-dark);
  background-color: var(--color-gray-light);
}
.AlertOptions {
  text-align: center;
  margin: 20px 20px 30px 20px;
}
.AlertOptions .button {
  float: none;
  font-weight: 500;
  display: block;
  width: 100%;
  height: 40px;
  line-height: 100%;
  margin-bottom: 5px;
  border-radius: 20px;
  background-color: #efefef;
  transition: all 0.2s ease-in-out;
}
.AlertOptions .button:hover {
  background-color: #0092f2;
  color: #fff;
}

/***TOOLBAR***/

div[class*="ico18"],
span[class*="ico18"],
i[class*="ico18"] {
  margin: auto;
  width: 18px;
  height: 18px;
  background-size: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
}
.ico18Back {
  background-image: url(../img/ico/back.png);
}
.ico18Add {
  background-image: url(../img/ico/add.png);
}
.ico18Edit {
  background-image: url(../img/ico/edit.png);
}
.ico18Del {
  background-image: url(../img/ico/delete.png);
}
.ico18Status {
  background-image: url(../img/ico/status.png);
}
.ico18Check {
  background-image: url(../img/ico/check.png);
}
.ico18Ciudades {
  background-image: url(../img/ico/ciudades.png);
}
.ico18Answer {
  background-image: url(../img/ico/answer.png);
}
.ico18Photo {
  background-image: url(../img/ico/photo.png);
}
.ico18Resena {
  background-image: url(../img/ico/resena.png);
}
.ico18Doc {
  background-image: url(../img/ico/documento.png);
}
.ico18Send {
  background-image: url(../img/ico/send.png);
}
.ico18Download {
  background-image: url(../img/ico/download.png);
}
.ico18Lock {
  background-image: url(../img/ico/lock.png);
}
.ico18Down {
  background-image: url(../img/ico/down.png);
}
.ico18Invoice {
  background-image: url(../img/ico/invoice.png);
}
.ico18Up {
  background-image: url(../img/ico/down.png);
  transform: rotate(180deg);
}
.ico18Permiso {
  background-image: url(../img/ico/permiso.png);
}

.ico18Planes {
  background-image: url(../img/ico/planes.png);
}

.ico18Empresa {
  background-image: url(../img/ico/empresa_blue.png);
}

.ico18Usuario {
  background-image: url(../img/ico/usuario.png);
}

.ico18Usuario {
  background-image: url(../img/ico/usuario.png);
}
.frame {
  padding: 20px;
  background-color: var(--color-white);
  margin: 50px 0px;
}

.frame div[id^="toolBar"] {
  z-index: 1;
  position: relative;
  width: 100%;
}
.frame div[id^="toolBar"] .btn-toolbar {
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  position: absolute;
}
.frame div[id^="toolBar"] .btn-toolbar .btn-group {
  width: 100%;
  display: inline-table;
}
div[id^="toolBar"] .btn-toolbar .btn-group .btn {
  border-color: var(--color-blue);
}
div[id^="toolBar"] .btn-toolbar .btn-group .btn:first-child {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
div[id^="toolBar"] .btn-toolbar .btn-group .btn:last-child {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
div[id^="toolBar"] .btn-toolbar .btn-group .btn:active div[class^="ico18"] {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(200%)
    contrast(100%);
}
div[id^="toolBar"]
  .btn-toolbar
  .btn-group
  button[class^="show"]
  div[class^="ico18"] {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(200%)
    contrast(100%);
}

div[id^="toolBar"] .btn-toolbar .btn-group .btn:hover {
  background-color: var(--color-blue);
}

div[id^="toolBar"] .btn-toolbar .btn-group .btn:hover div[class^="ico18"] {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(200%)
    contrast(100%);
}

div[id^="toolBar"] .btn-toolbar .btn-group .btn-rounded {
  padding: 6px;
}

div[id^="toolBar"]
  .btn-toolbar
  .btn-group
  .btn
  button:active
  div[class^="ico18"] {
  filter: invert(100%) sepia(76%) saturate(0%) hue-rotate(172deg)
    brightness(105%) contrast(105%);
}
div[id^="toolBar"]
  .btn-toolbar
  .btn-group
  .btn:hover
  .show
  div[class^="ico18"] {
  filter: invert(100%) sepia(76%) saturate(0%) hue-rotate(172deg)
    brightness(105%) contrast(105%);
}

div[id^="toolBar"] .btn-toolbar .btn-group .btn button {
  background-color: var(--color-white);
}
div[id^="toolBar"] .btn-toolbar .btn-group .btn:hover button {
  background-color: var(--color-blue);
}
div[id^="toolBar"]
  .btn-toolbar
  .btn-group
  .btn:hover
  button
  div[class^="ico18"] {
  filter: invert(100%) sepia(76%) saturate(0%) hue-rotate(172deg)
    brightness(105%) contrast(105%);
}

div[id^="toolBar"] .btn-toolbar .btn-group .btnDropTool {
  padding: 0px;
  width: 42px;
  height: 32px;
}
div[id^="toolBar"] .btn-toolbar .btn-group .btnDropTool button {
  width: 100%;
  height: 100%;
}
div[id^="toolBar"] .btn-toolbar .btn-group .btn:first-child button {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
div[id^="toolBar"] .btn-toolbar .btn-group .btn:last-child button {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
/***ARTICULOS-LIST***/
.articulos .section-title h2 {
  font-size: 2.5rem;
  font-weight: 900;
  color: var(--color-blue-dark);
  margin-bottom: 1rem;
}
.articulos .section-title {
  margin: 30 auto;
  text-align: center;
}
.article-row {
  cursor: pointer;
}
.article-row.active {
  background-color: var(--color-blue-light);
}
.article-row:hover {
  background-color: var(--color-blue-light);
}

.article-row .col .status {
  display: block;
  width: max-content;
  margin: 10px 0px;
  background-color: var(--color-red);
  color: var(--color-white);
  font-size: 13px;
  font-weight: 800;
  padding: 2px 12px;
  border-radius: 50px;
}
.article-row .col .date {
  font-size: 12px;
  color: var(--color-gray);
}
.article-row .col .comments {
  font-size: 12px;
  color: var(--color-gray);
}
.article-row .col .article-hide {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-gray);
}
.article-row:hover .article-hide,
.article-row.active .article-hide {
  color: var(--color-white) !important;
}

.article-row .col .category,
.article-row .col .empresa {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-blue) !important;
}
.article-row .col .title {
  font-size: 16px;
  font-weight: 900 !important;
  color: var(--color-blue-dark);
}
.article-row .col .description {
  font-size: 14px;
  font-weight: 500 !important;
  color: var(--color-blue-dark);
  display: -webkit-box;
  -webkit-line-clamp: 2; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.blog-comments {
  padding: 30px 0px;
}

.blog-comments .section-header {
  margin-bottom: 40px;
}

.blog-comments .section-header h3 {
  color: var(--color-blue-dark);
  font-size: 32px;
  font-weight: 900;

  display: flex;
  align-items: center;
  gap: 12px;
}

.blog-comments .section-header h3 .comment-count {
  color: color-mix(in srgb, var(--color-blue-dark), transparent 40%);
  font-size: 24px;
  font-weight: 500;
}

.blog-comments .comments-wrapper {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.blog-comments .comment-card {
  background-color: var(--color-white);
  border-radius: 12px;
  padding: 25px;
  border-left: 4px solid transparent;
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
}

.blog-comments .comment-card:hover {
  border-left-color: var(--color-blue);
  transform: translateX(5px);
}

.blog-comments .comment-card.reply {
  margin-left: 48px;
  border-left-color: color-mix(in srgb, var(--color-blue), transparent 70%);
  background-color: color-mix(in srgb, var(--color-white), transparent 3%);
}

@media (min-width: 768px) {
  .blog-comments .comment-card.reply {
    margin-left: 85px;
  }
}

.blog-comments .reply-thread {
  margin-top: 25px;
  padding-top: 25px;
  border-top: 1px solid color-mix(in srgb, var(--color-blue), transparent 92%);
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.blog-comments .comment-header {
  margin-bottom: 20px;
}

.blog-comments .comment-header .user-info {
  display: flex;
  align-items: center;
  gap: 15px;
}

.blog-comments .comment-header .user-info img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid color-mix(in srgb, var(--color-gray-light), transparent 0%);
}

.blog-comments .comment-header .user-info .meta .name {
  color: var(--color-blue);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 5px;
}

.blog-comments .comment-header .user-info .meta .date {
  margin-left: 5px;
  color: var(--color-gray);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.blog-comments .comment-header .user-info .meta .date i {
  font-size: 13px;
}

.blog-comments .comment-content p {
  color: var(--color-blue-dark);
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 20px;
}

.blog-comments .comment-actions {
  display: flex;
  gap: 20px;
}

.blog-comments .comment-actions .action-btn {
  background: none;
  border: none;
  padding: 8px 12px;
  border-radius: 6px;
  background-color: var(--color-blue);
  color: var(--color-white);
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.blog-comments .comment-actions .action-btn i {
  font-size: 15px;
  transition: transform 0.3s ease;
}

.blog-comments .comment-actions .action-btn:hover {
  background-color: var(--color-blue);
  color: var(--color-white);
}

.blog-comments .comment-actions .action-btn:hover.like-btn i {
  transform: scale(1.2);
}

.blog-comments .comment-actions .action-btn:hover.reply-btn i {
  transform: translateX(-3px);
}

.blog-comments .comment-actions .action-btn.like-btn.active {
  color: var(--color-white);
}

.blog-comments .comment-header .user-info .meta {
  vertical-align: middle;
  height: 100%;
  display: flex;
}
@media (max-width: 768px) {
  .blog-comments .section-header {
    margin-bottom: 30px;
  }

  .blog-comments .section-header h3 {
    font-size: 28px;
  }

  .blog-comments .section-header h3 .comment-count {
    font-size: 20px;
  }

  .blog-comments .comment-card {
    padding: 20px;
  }

  .blog-comments .comment-card.reply {
    margin-left: 35px;
  }

  .blog-comments .comment-header .user-info img {
    width: 40px;
    height: 40px;
  }

  .blog-comments .comment-header .user-info .meta .name {
    font-size: 15px;
  }

  .blog-comments .comment-header .user-info .meta .date {
    font-size: 13px;
  }

  .blog-comments .comment-content p {
    font-size: 14px;
    margin-bottom: 15px;
  }

  .blog-comments .comment-actions .action-btn {
    padding: 6px 10px;
    font-size: 13px;
  }
}

.new-comment {
  margin-top: 30px;
  width: 100%;
  color: var(--color-blue-dark);
  background-color: var(--color-white);
  font-size: 0.95rem;
  border: 2px solid color-mix(in srgb, var(--color-gray), transparent 85%);
  border-radius: 8px;
  padding: 0.75rem;
  transition: 0.3s;
}
.new-comment::placeholder {
  color: var(--color-blue-dark);
}
.new-comment:focus-visible {
  outline: -webkit-focus-ring-color auto 0px !important;
}

.reply-text {
  margin-top: 30px;
  width: 100%;
  color: var(--color-blue-dark);
  background-color: var(--color-white);
  font-size: 0.95rem;
  border: 2px solid color-mix(in srgb, var(--color-gray), transparent 85%);
  border-radius: 8px;
  padding: 0.75rem;
  transition: 0.3s;
}
.reply-text::placeholder {
  color: var(--color-blue-dark);
}
.reply-text:focus-visible {
  outline: -webkit-focus-ring-color auto 0px !important;
}
.comment-content textarea {
  width: 100%;
  color: var(--color-blue-dark);
  background-color: var(--color-white);
  font-size: 0.95rem;
  border: 2px solid color-mix(in srgb, var(--color-gray), transparent 85%);
  border-radius: 8px;
  padding: 0.75rem;
  transition: 0.3s;
}
.comment-content textarea::placeholder {
  color: var(--color-blue-dark);
}
.comment-content textarea:focus-visible {
  outline: -webkit-focus-ring-color auto 0px !important;
}
.btn-send-comment {
  margin-top: 10px;
  background: none;
  border: none;
  padding: 8px 12px;
  border-radius: 6px;
  background-color: var(--color-blue);
  color: var(--color-white);
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.reply-send {
  margin-top: 10px;
  background: none;
  border: none;
  padding: 8px 12px;
  border-radius: 6px;
  background-color: var(--color-blue);
  color: var(--color-white);
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.save-edit {
  margin: 10px 0px;
  background: none;
  border: none;
  padding: 8px 12px;
  border-radius: 6px;
  background-color: var(--color-blue);
  color: var(--color-white);
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}

#contentArticle {
  margin-top: 50px;
  background-color: var(--color-white);
}
#contentArticle .container {
  padding: 30px 50px;
}
#contentArticle .container .date {
  font-size: 12px;
  color: var(--color-gray);
}
#contentArticle .container .category,
#contentArticle .container .empresa {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-blue) !important;
}
#contentArticle .container .title {
  font-size: 16px;
  font-weight: 900 !important;
  color: var(--color-blue-dark);
}
#contentArticle .container .description {
  font-size: 14px;
  font-weight: 500 !important;
  color: var(--color-blue-dark);
}
#contentArticle img {
  max-height: 350px;
  object-fit: cover;
}
/***PREGUNTAS EXPERTOS***/
.preguntas-exp {
  position: relative;
  overflow: hidden;
  min-height: 70vh;
  display: flex;
  align-items: center;
  padding: 120px 0 60px 0;
}

.preguntas-exp .hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.preguntas-exp .hero-background video {
  filter: contrast(0.5);
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.preguntas-exp .hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--background-color), transparent 60%) 0%,
    color-mix(in srgb, var(--background-color), transparent 80%) 50%,
    color-mix(in srgb, var(--background-color), transparent 90%) 100%
  );
  z-index: 1;
}

.preguntas-exp .hero-text .hero-title {
  font-size: 3.5rem;
  font-weight: 900;
  margin-bottom: 1.5rem;
  line-height: 1.2;
  color: var(--color-blue-dark);
}

.preguntas-exp .hero-text .hero-subtitle {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  opacity: 0.9;
  line-height: 1.6;
  color: var(--color-blue-dark);
}

.preguntas-exp .hero-text .hero-buttons .btn.btn-outline:hover {
  background-color: var(--accent-color);
  color: var(--contrast-color);
  transform: translateY(-2px);
  border-color: var(--accent-color);
}

.preguntas-exp .booking-form-wrapper .booking-form {
  background-color: var(--surface-color);
  border-radius: 15px;
  padding: 2rem;
  box-shadow: 0 10px 30px
    color-mix(in srgb, var(--default-color), transparent 85%);
  backdrop-filter: blur(10px);
}

.preguntas-exp .booking-form-wrapper .booking-form .form-title {
  color: var(--heading-color);
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  text-align: center;
}

.preguntas-exp .booking-form-wrapper .booking-form label {
  color: var(--heading-color);
  font-weight: 500;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

.preguntas-exp .booking-form-wrapper .booking-form .form-control,
.preguntas-exp .booking-form-wrapper .booking-form .form-select {
  border: 2px solid color-mix(in srgb, var(--default-color), transparent 80%);
  border-radius: 8px;
  padding: 12px 15px;
  font-size: 14px;
  color: var(--default-color);
  background-color: var(--surface-color);
  transition: all 0.3s ease;
}

.preguntas-exp .booking-form-wrapper .booking-form .form-control:focus,
.preguntas-exp .booking-form-wrapper .booking-form .form-select:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 0.2rem
    color-mix(in srgb, var(--accent-color), transparent 75%);
  outline: none;
}

.preguntas-exp .booking-form-wrapper .booking-form .form-control::placeholder,
.preguntas-exp .booking-form-wrapper .booking-form .form-select::placeholder {
  color: color-mix(in srgb, var(--default-color), transparent 50%);
}

.preguntas-exp .booking-form-wrapper .booking-form .btn-primary {
  background-color: var(--accent-color);
  border-color: var(--accent-color);
  color: var(--contrast-color);
  padding: 12px 20px;
  font-weight: 600;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.preguntas-exp .booking-form-wrapper .booking-form .btn-primary:hover {
  background-color: color-mix(in srgb, var(--accent-color), transparent 20%);
  border-color: color-mix(in srgb, var(--accent-color), transparent 20%);
  transform: translateY(-1px);
}

@media (max-width: 992px) {
  .preguntas-exp .hero-text {
    text-align: center;
    margin-bottom: 3rem;
  }

  .preguntas-exp .hero-text .hero-title {
    font-size: 2.5rem;
  }

  .preguntas-exp .hero-text .hero-subtitle {
    font-size: 1.1rem;
  }

  .preguntas-exp .booking-form {
    margin-top: 2rem;
  }
}

@media (max-width: 768px) {
  .preguntas-exp .hero-text .hero-title {
    font-size: 2rem;
  }

  .preguntas-exp .hero-text .hero-subtitle {
    font-size: 1rem;
  }

  .preguntas-exp .hero-text .hero-buttons .btn {
    display: block;
    width: 100%;
    margin-bottom: 1rem;
  }

  .preguntas-exp .hero-text .hero-buttons .btn:last-child {
    margin-bottom: 0;
  }

  .preguntas-exp .booking-form-wrapper .booking-form {
    padding: 1.5rem;
  }
}
/***STATS***/
.stats {
  background-color: var(--color-gray-light);
  padding: 50px 0px;
}
.stats-item {
  background-color: var(--color-blue-light);
  box-shadow: 0px 0 30px rgba(0, 0, 0, 0.1);
  padding: 30px;
}

.stats-item i {
  color: var(--color-white);
  font-size: 42px;
  line-height: 0;
  margin-right: 20px;
}

.stats-item span {
  color: var(--color-white);
  font-size: 36px;
  display: block;
  font-weight: 600;
}

.stats-item p {
  padding: 0;
  color: var(--color-white);
  margin: 0;
  font-size: 16px;
}
/*** WORK PROCESS ***/
.work-process {
  padding: 60px 0px;
}

.work-process .title {
  text-align: center;
  color: var(--color-blue-dark);
  font-weight: 900;
}
.work-process .steps-content {
  padding-right: 30px;
  margin-bottom: 40px;
}

@media (max-width: 992px) {
  .work-process .steps-content {
    padding-right: 0;
  }
}

.work-process .steps-content h2 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: var(--color-blue-dark);
}

@media (max-width: 768px) {
  .work-process .steps-content h2 {
    font-size: 2rem;
  }
}

.work-process .steps-content .lead {
  font-size: 1.2rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
  color: var(--color-blue-dark);
}
.work-process .steps-content p {
  margin-bottom: 2rem;
  color: var(--color-blue-dark);
}
.work-process .steps-content .steps-cta {
  display: flex;
  gap: 15px;
}

@media (max-width: 576px) {
  .work-process .steps-content .steps-cta {
    flex-direction: column;
  }
}

.work-process .steps-content .steps-cta .btn {
  padding: 12px 30px;
  font-weight: 600;
  border-radius: 5px;
  transition: all 0.3s ease;
}
.work-process .steps-content .steps-cta .btn-primary {
  background-color: var(--color-blue);
  border-color: var(--color-blue);
  color: var(--color-white);
}
.work-process .steps-content .steps-cta .btn-primary:hover {
  background-color: color-mix(in srgb, var(--color-blue), #fff 15%);
  border-color: color-mix(in srgb, var(--color-blue), #fff 15%);
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.work-process .steps-list {
  position: relative;
}
.work-process .steps-list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  width: 2px;
  background-color: var(--color-blue-light);
}

@media (max-width: 576px) {
  .work-process .steps-list::before {
    left: 20px;
  }
}

.work-process .steps-list .step-item {
  display: flex;
  margin-bottom: 30px;
  position: relative;
}
.work-process .steps-list .step-item:last-child {
  margin-bottom: 0;
}
.work-process .steps-list .step-item:hover .step-number {
  background-color: var(--color-blue);
  color: var(--color-white);
  transform: scale(1.1);
}
.work-process .steps-list .step-item .step-number {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: var(--color-blue-light);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
  margin-right: 20px;
  z-index: 1;
  transition: all 0.3s ease;
}

@media (max-width: 576px) {
  .work-process .steps-list .step-item .step-number {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }
}

.work-process .steps-list .step-item .step-content {
  padding-top: 5px;
}
.work-process .steps-list .step-item .step-content h3 {
  font-size: 1.3rem;
  font-weight: 900;
  margin-bottom: 10px;
  color: var(--color-blue-dark);
}

@media (max-width: 576px) {
  .work-process .steps-list .step-item .step-content h3 {
    font-size: 1.1rem;
  }
}

.work-process .steps-list .step-item .step-content p {
  font-size: 0.95rem;
  color: var(--color-blue-dark);
  margin-bottom: 0;
}
.last-preguntas {
  background-color: var(--color-gray-light);
}

.last-preguntas .last-preguntas-title {
  color: var(--color-blue-dark);
}

.last-preguntas .date {
  font-size: 12px;
  color: var(--color-gray);
}

.last-preguntas .consulta {
  font-size: 16px;
  font-weight: 900 !important;
  color: var(--color-blue-dark);
  display: -webkit-box;
  -webkit-line-clamp: 1; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.last-preguntas .informacion {
  font-size: 14px;
  font-weight: 500 !important;
  color: var(--color-blue-dark) !important;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.last-preguntas .respuesta {
  background-color: var(--color-blue-light);
}

.last-preguntas .respuesta .user {
  color: var(--color-blue-dark);
}

.last-preguntas .respuesta .user-answer {
  color: var(--color-blue-dark);
}

.last-preguntas .respuesta .best-answer {
  color: var(--color-blue-dark) !important;
  margin: 15px;
}
/***TOP PREGUNTAS***/
.top-preguntas {
  background-color: var(--color-gray-light);
}

.top-preguntas .top-preguntas-title {
  color: var(--color-blue-dark);
}

.top-preguntas .date {
  font-size: 12px;
  color: var(--color-gray);
}

.top-preguntas .consulta {
  font-size: 16px;
  font-weight: 900 !important;
  color: var(--color-blue-dark);
  display: -webkit-box;
  -webkit-line-clamp: 1; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.top-preguntas .informacion {
  font-size: 14px;
  font-weight: 500 !important;
  color: var(--color-blue-dark) !important;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.top-preguntas .respuesta {
  background-color: var(--color-blue-light);
}

.top-preguntas .respuesta .user {
  color: var(--color-blue-dark);
}

.top-preguntas .respuesta .user-answer {
  color: var(--color-blue-dark);
}

.top-preguntas .respuesta .best-answer {
  color: var(--color-blue-dark) !important;
  margin: 15px;
}

/***LIST PREGUNTAS***/
#pageContent .list-preguntas {
  padding: 0px;
  margin-top: 50px;
}

.list-preguntas .list-preguntas-title,
.list-preguntas .all-preguntas-title {
  color: var(--color-blue-dark);
}

.list-preguntas .date {
  font-size: 12px;
  color: var(--color-gray);
}

.list-preguntas .consulta {
  font-size: 16px;
  font-weight: 900 !important;
  color: var(--color-blue-dark);
  display: -webkit-box;
  -webkit-line-clamp: 1; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.list-preguntas .informacion {
  font-size: 14px;
  font-weight: 500 !important;
  color: var(--color-blue-dark) !important;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.list-preguntas .respuesta {
  background-color: var(--color-blue-light);
}

.list-preguntas .respuesta .user {
  color: var(--color-blue-dark);
}

.list-preguntas .respuesta .user-answer {
  color: var(--color-blue-dark);
}

.list-preguntas .respuesta .best-answer {
  color: var(--color-blue-dark) !important;
  margin: 15px;
}
.card-body-preguntas .status {
  display: block;
  width: max-content;
  margin: 10px 0px;
  background-color: var(--color-red);
  color: var(--color-white);
  font-size: 13px;
  font-weight: 800;
  padding: 2px 12px;
  border-radius: 50px;
}
.py-60 {
  padding: 60px 0px;
}
.btn-primary {
  border-color: var(--color-blue);
  background-color: var(--color-blue);
  color: var(--color-white);
  padding: 12px 30px;
  font-weight: 600;
  border-radius: 5px;
  transition: all 0.3s ease;
  width: max-content;
  display: block;
}
.card-preguntas-item.active {
  background-color: var(--color-blue-light);
}
/***profesionales activos***/
.profesionales-activos {
  background-color: var(--color-white);
  padding: 60px 0px;
}
.specialists-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.5rem;
}

.specialist-card {
  background: var(--color-white);
  border: 1px solid color-mix(in srgb, var(--color-gray-light), transparent 0%);
  border-radius: 20px;
  overflow: hidden;
  transition: all 0.4s ease;
}

.specialist-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px
    color-mix(in srgb, var(--color-blue-light), transparent 15%);
  border-color: color-mix(in srgb, var(--color-gray-light), transparent 0%);
}

.specialist-card.featured {
  border-color: var(--color-blue);
  box-shadow: 0 8px 30px
    color-mix(in srgb, var(--color-gray-light), transparent 80%);
}

.specialist-card.featured .card-content {
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(-color-blue-light), transparent 95%) 0%,
    var(--color-white) 100%
  );
}

.specialist-card .card-content {
  padding: 1.75rem;
}

.specialist-card .specialist-info {
  margin-bottom: 1.5rem;
}

.specialist-card .specialist-info .profile-section {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  margin-bottom: 1rem;
}

.specialist-card .specialist-info .profile-section .profile-image {
  position: relative;
  flex-shrink: 0;
}

.specialist-card .specialist-info .profile-section .profile-image img {
  width: 70px;
  height: 70px;
  border-radius: 16px;
  object-fit: cover;
}

.find-a-doctor
  .specialist-card
  .specialist-info
  .profile-section
  .profile-image
  .online-status {
  position: absolute;
  bottom: -3px;
  right: -3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 3px solid var(--color-white);
}

.specialist-card
  .specialist-info
  .profile-section
  .profile-image
  .online-status.active {
  background: #22c55e;
}

.specialist-card
  .specialist-info
  .profile-section
  .profile-image
  .online-status.busy {
  background: #f59e0b;
}

.specialist-card
  .specialist-info
  .profile-section
  .profile-image
  .online-status.offline {
  background: color-mix(in srgb, var(--color-blue-light), transparent 50%);
}

.specialist-card .specialist-info .profile-section .specialist-data {
  flex: 1;
}

.specialist-card .specialist-info .profile-section .specialist-data h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-blue-dark);
  margin-bottom: 0.25rem;
}

.specialist-card .specialist-info .profile-section .specialist-data .specialty {
  color: color-mix(in srgb, var(--color-blue-dark), transparent 0%);
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}

.specialist-card
  .specialist-info
  .profile-section
  .specialist-data
  .credentials {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.specialist-card
  .specialist-info
  .profile-section
  .specialist-data
  .credentials
  .badge {
  background: color-mix(in srgb, var(--color-blue-light), transparent 0%);
  color: var(--color-blue);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
}

.specialist-card
  .specialist-info
  .profile-section
  .specialist-data
  .credentials
  .experience {
  color: color-mix(in srgb, var(--color-blue-dark), transparent 0%);
  font-size: 0.875rem;
}

.find-a-doctor .specialist-card .specialist-info .rating-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.specialist-card .specialist-info .rating-info .stars-display {
  display: flex;
  gap: 1px;
}

.specialist-card .specialist-info .rating-info .stars-display i {
  color: #fbbf24;
  font-size: 0.875rem;
}

.specialist-card .specialist-info .rating-info .score {
  font-weight: 600;
  color: var(--color-blue-dark);
  font-size: 1rem;
}

.specialist-card .specialist-info .rating-info small {
  color: color-mix(in srgb, var(--color-blue-dark), transparent 50%);
  font-size: 0.8rem;
}

.specialist-card .quick-actions {
  display: flex;
  gap: 0.75rem;
}

.specialist-card .quick-actions .action-btn {
  flex: 1;
  padding: 10px 16px;
  border-radius: 10px;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
}

.specialist-card .quick-actions .action-btn.outline {
  background: var(--color-blue);
  color: var(--color-white);
  border: 1.5px solid var(--color-blue);
  width: max-content;
}

@media (max-width: 992px) {
  .specialists-showcase {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
}

@media (max-width: 768px) {
  .specialists-showcase {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .specialist-card .card-content {
    padding: 1.5rem;
  }
}
/***CARDPREGUNTA***/
#cardPregunta {
  padding: 20px;
  background-color: var(--color-white);
}
#cardPregunta .date {
  font-size: 12px;
  color: var(--color-gray);
}

#cardPregunta .consulta {
  font-size: 16px;
  font-weight: 900 !important;
  color: var(--color-blue-dark);
  display: -webkit-box;
  -webkit-line-clamp: 1; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
#cardPregunta .informacion {
  font-size: 14px;
  font-weight: 500 !important;
  color: var(--color-blue-dark) !important;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
#img .col-card {
  border-radius: 0.375rem;
}
#img .col-md-2 .card {
  height: 250px;
}
#img .col-md-2 .card .full-image {
  cursor: pointer;
}
#img .col-md-2 .card .card-img-top {
  width: 100%;
  height: 250px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.col-card.active .card {
  box-shadow: 0 0.5rem 1rem rgba(189, 220, 232, 0.15);
  border: 2px solid var(--color-blue);
}
.list-empresas .section-title h2 {
  font-size: 2.5rem;
  font-weight: 900;
  text-align: center;
  color: var(--color-blue-dark);
  margin-bottom: 1rem;
}
.list-empresas .empresa-row-editor:hover {
  background-color: var(--color-blue-light);
}
.list-empresas .empresa-row.active {
  background-color: var(--color-blue-light);
}
.list-empresas .card .card-body .row .img-logo {
  border: 3px solid var(--color-gray-light);
}
.list-empresas .card .card-body .row .name {
  color: var(--color-blue) !important;
  font-size: 16px;
  font-weight: 800 !important;
}
.list-empresas .card .card-body .row .name .status {
  background-color: var(--color-red);
  color: var(--color-white);
  font-size: 13px;
  font-weight: 800;
  padding: 2px 12px;
  border-radius: 50px;
}
.list-empresas .card .card-body .row .service {
  color: var(--color-white) !important;
  background-color: var(--color-blue-light);
  border-color: var(--color-blue-light) !important;
}
.list-empresas .card .card-body .row .ico-location {
  color: var(--color-blue);
}
.list-empresas .card .card-body .row .description {
  color: var(--color-blue-dark);
  display: -webkit-box;
  -webkit-line-clamp: 2; /* número de líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.list-empresas .card .card-body .row .direction {
  color: var(--color-blue-dark);
}
.no-hover-color .oferta-item:hover .oferta-card,
.no-hover-color .article-row:hover {
  background-color: var(--color-white) !important;
}

#dataEmpresa .card {
  padding: 50px;
}
#dataEmpresa .logo {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-size: 100%;
  margin: 0 auto;
  border: 3px solid var(--color-gray-light);
}
#dataEmpresa .title {
  color: var(--color-blue-dark);
  font-size: 42px;
  font-weight: 900 !important;
  line-height: 1.2;
  margin-bottom: 20px;
}
#dataEmpresa .star-yellow {
  color: #ffc601;
}
#dataEmpresa .star-blue {
  color: var(--color-blue-dark);
}
#dataEmpresa .total-resenas {
  color: var(--color-blue) !important;
}
#dataEmpresa .links i {
  color: var(--color-blue);
}
#dataEmpresa .links span {
  color: var(--color-blue-dark);
}
#dataEmpresa #btnCotizar {
  background-color: var(--color-blue);
  color: var(--color-white);
  border: none;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 0.375rem;
}

#dataEmpresa .description {
  color: var(--color-blue-dark);
}
#dataEmpresa .text-blue-dark {
  color: var(--color-blue-dark);
}
#dataEmpresa .horarios {
  color: var(--color-blue-dark);
  font-size: 21px;
  font-weight: 900 !important;
  line-height: 1.2;
}
#dataEmpresa .empleados {
  color: var(--color-blue-dark);
  margin: 20px 0px;
}
#dataEmpresa .servicios {
  color: var(--color-blue-dark);
  font-size: 21px;
  font-weight: 900 !important;
  line-height: 1.2;
}
#dataEmpresa .servicios .servicios-content li {
  color: var(--color-blue-dark);
}
#dataEmpresa .distintivos {
  color: var(--color-blue-dark);
  font-size: 21px;
  font-weight: 900 !important;
  line-height: 1.2;
}
#dataEmpresa .distintivos .distintivos-content li {
  color: var(--color-blue-dark);
}
#dataEmpresa .imagenes {
  color: var(--color-blue-dark);
  font-size: 21px;
  font-weight: 900 !important;
  line-height: 1.2;
}
/*--------------------------------------------------------------
# Gallery Section
--------------------------------------------------------------*/
.gallery {
  overflow: hidden;
}

.gallery .swiper-wrapper {
  height: auto;
}

#dataEmpresa .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

#dataEmpresa .swiper-pagination .swiper-pagination-bullet {
  background-color: var(--color-blue-ligh);
  border: 1px solid var(--color-blue);
  width: 12px;
  height: 12px;
  opacity: 1;
}

#dataEmpresa .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-blue);
}

#dataEmpresa .swiper-slide-active {
  text-align: center;
}

@media (min-width: 992px) {
  #dataEmpresa .swiper-wrapper {
    padding: 40px 0;
  }

  #dataEmpresa .swiper-slide-active {
    background: var(--color-white);
    border: 6px solid var(--color-blue);
    padding: 4px;
    z-index: 1;
    transform: scale(1.2);
    transition: none;
  }
}
@media (max-width: 1007px) {
  #dataEmpresa .title {
    margin-left: 30px;
  }
}

@media (max-width: 1007px) {
  #dataEmpresa .title {
    margin-left: 30px;
  }
}

@media (max-width: 783px) {
  #dataEmpresa .title {
    margin: 30px 0px 0px 0px;
  }
}
@media (max-width: 721px) {
  #dataEmpresa .title {
    font-size: 18px;
  }

  #dataEmpresa .card {
    padding: 0px;
  }
}
.resenas .section-title h2 {
  font-size: 2.5rem;
  font-weight: 900;
  text-align: center;
  color: var(--color-blue-dark);
  margin-bottom: 1rem;
}
.resenas .comment-actions {
  display: flex;
  gap: 20px;
}
.resenas .comment-actions .action-btn {
  background-color: var(--color-blue) !important;
  color: var(--color-white);
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  cursor: pointer;
  background: none;
  border-width: initial;
  border-style: none;
  border-color: initial;
  border-image: initial;
  padding: 8px 12px;
  border-radius: 6px;
  gap: 6px;
  transition: 0.3s;
}
.resenas .comment-actions .action-btn i {
  font-size: 15px;
  transition: transform 0.3s;
}
.resenas .edit-textarea {
  margin-top: 30px;
  width: 100%;
  color: var(--color-blue-dark);
  background-color: var(--color-white);
  font-size: 0.95rem;
  border: 2px solid color-mix(in srgb, var(--color-gray), transparent 85%);
  border-radius: 8px;
  padding: 0.75rem;
  transition: 0.3s;
}

textarea:focus {
  outline: none;
  shadow: none;
}

.resenas .fa-star,
.resenas .fa-star i {
  color: var(--color-blue-dark);
}
.resenas .star-active,
.resenas .star-active i {
  color: #ffc601;
}

.resenas .link-empresa {
  color: var(--color-blue);
  font-weight: 600;
}
.resenas .status {
  display: block;
  width: max-content;
  margin: 10px 0px;
  background-color: var(--color-red);
  color: var(--color-white);
  font-size: 13px;
  font-weight: 800;
  padding: 2px 12px;
  border-radius: 50px;
}
.resenas .date {
  display: block;
  font-size: 12px;
  color: var(--color-gray);
}
.bg-image-none {
  background-image: none;
}
.border-resena-row .resena-row .feedback-column {
  border: 2px solid #dfe6e7;
}
.viewEditorList .resena-row:hover .feedback-column {
  background-color: #dfe6e7;
}
.viewEditorList .resena-row.active .feedback-column {
  background-color: #dfe6e7;
}
.wrapper .fa-star,
.wrapper .fa-star i {
  color: var(--color-blue-dark);
}
.wrapper .star-active,
.wrapper .star-active i {
  color: #ffc601;
}
.form-scroll {
  max-height: 100vh; /* 80% del alto de la pantalla */
  overflow-y: auto; /* scroll vertical */
  overflow-x: hidden; /* evita scroll horizontal */
}
.panelInfo {
  color: var(--color-blue-dark);
  font-size: 14px;
  padding: 5px 15px;
  position: relative;
  width: 100%;
  min-height: 100px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.panelInfo .panelButtons {
  border-right: 0px !important;
  border-bottom: 0px !important;
  border-radius: 10px 0px 0px;
  right: 0px;
  bottom: 0px;
  position: absolute;
  width: max-content;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.panelInfo .panelButtons .btn-group .btn {
  border: none;
}
.panelInfo .panelButtons .btn-group .btn:hover {
  background-color: var(--color-blue);
}
.panelInfo .panelButtons .btn-group .btn:hover *[class^="ico18"] {
  filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(200%)
    contrast(100%);
}
.autocomplete-panel-input {
  border-radius: 0.25rem 0.25rem 0px 0px;
}
.panelInfo div[id$="_data"] b {
  font-weight: 900;
  color: var(--color-blue-dark);
  font-size: 12px;
}
.panelInfo div[id$="_data"] b span {
  font-weight: 500;
  color: var(--color-blue-dark);
  font-size: 12px;
  margin-left: 5px;
}
#DataTable {
  height: calc((100vh) / (2));
  position: relative;
}
#DataTable thead {
  position: sticky;
  top: 0;
  background-color: white;
}

#DataTable_wrapper #DataTable_length label {
  margin-bottom: 0.755em;
}
#DataTable_wrapper #DataTable_filter label {
  margin-bottom: 0.755em;
}

#DataTable_wrapper #DataTable {
  border-radius: 5px;
  border: 1px solid var(--color-gray-thin) !important;
  display: block;
}

#DataTable_wrapper #DataTable thead tr th {
  color: var(--color-blue-dark);
  font-size: 14px !important;
}
#DataTable_wrapper #DataTable tbody .odd-row {
  background-color: var(--color-gray-light);
}
#DataTable_wrapper #DataTable tbody tr td {
  white-space: nowrap;

  color: var(--color-blue-dark);
  font-size: 14px;
}
#DataTable_wrapper #DataTable tbody tr td a {
  white-space: nowrap;

  color: var(--color-blue-dark);
  font-size: 14px;
}

#DataTable_wrapper #DataTable tbody tr.selected > * {
  box-shadow: none !important;
  background-color: var(--color-blue);
  color: var(--color-white);
}
#DataTable_wrapper #DataTable tbody tr.selected td a {
  box-shadow: none !important;
  background-color: var(--color-blue);
  color: var(--color-white);
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background-color: var(--color-blue) !important;
  color: var(--color-white) !important;
  border: none !important;
}

table.dataTable {
  border-radius: 5px;
  border: 1px solid var(--color-gray-thin) !important;
  display: block;
}
#DataTable_wrapper table.dataTable thead tr th {
  text-align: center;

  color: var(--color-blue-dark);
  font-size: 14px !important;
}
#DataTable_wrapper table.dataTable tbody .odd-row {
  background-color: var(--color-gray-light);
}
#DataTable_wrapper table.dataTable tbody tr td {
  white-space: nowrap;

  color: var(--color-blue-dark);
  font-size: 14px;
}
#DataTable_wrapper table.dataTable tbody tr.selected > * {
  box-shadow: none !important;
  background-color: var(--color-blue);
  color: var(--color-white);
}
.table-container {
  float: right;
  margin-right: 100px;
  background-color: var(--color-white);
  width: calc((100%) - (400px));
}

.detail_data {
  background-color: var(--color-white);
}
@media (max-width: 1250px) {
  .form-data {
    width: 40%;
  }
  .detail_data {
    width: 60%;
  }
}

@media (max-width: 850px) {
  .pageForm {
    overflow-y: auto;
  }

  .pageForm .row #form1 .form-data {
    width: 100%;
    display: block;
    float: left !important;
    position: relative !important;
    clear: both;
  }
  .pageForm .row #form1 .detail_data {
    width: 100% !important;
    display: block;
    float: left !important;
    position: relative !important;
    clear: both;
  }
  .pageForm .row #form1 .detail_data .container-table-resposive {
    margin-top: 0px !important;
  }

  .pageForm .row {
    display: block !important;
  }
  .pageForm .row .form-data {
    border-right: none !important;
    width: 100%;
    display: block;
    float: left !important;
    position: relative !important;
    clear: both;
  }
  .pageForm .row .detail_data {
    padding: 0px 30px;
    width: 100% !important;
    display: block;
    float: left !important;
    position: relative !important;
    clear: both;
  }
  .pageForm .row .detail_data .container-table-resposive {
    margin-top: 0px !important;
    display: flex;
  }
  .pageForm
    .row
    .detail_data
    .container-table-resposive
    .table-container
    .totalTable {
    position: relative !important;
  }
}

.formInfo {
  padding: 10px;
  border-right: 1px solid var(--color-gray-thin);
}
.formInfo #title {
  color: var(--color-blue-dark);
  text-align: center;
}
.detailForm {
  padding: 0px 50px 0px 25px;
}
.detailForm .container-table-resposive {
  margin-top: 90px;
}

.detailForm .title-Bold {
  font-weight: 900;
  color: var(--color-blue-dark);
}
@media (max-width: 1350px) {
  .formInfo {
    width: 40%;
  }
  .detailForm {
    width: 60%;
  }
}
@media (max-width: 900px) {
  .formInfo {
    width: 100%;
    border-bottom: 1px solid var(--color-gray-thin);
  }
  .detailForm {
    padding: 10px 54px;
    width: 100%;
  }
  .detailForm .container-table-resposive {
    margin-top: 0px;
  }
  .detailForm .totalTable {
    position: relative !important;
  }
  .detailForm .totalTable .totalData {
    border-top: 0px;
  }
}
div[id^="label-datos-"],
.section-label {
  color: var(--color-blue);
  font-weight: 600;
  width: max-content;
  display: inline;
}
.arrow-section {
  display: inline-block !important;
  margin: 0px 0px -5px 0px !important;
}

.title-table {
  color: var(--color-blue-dark);
  font-weight: 900;
  text-align: center;
  margin: 30px 0px;
}
div[class^="column-"],
span[class^="column-"] {
  padding: 2px 12px;
  width: max-content;
  border-radius: 20px;
  margin: -3px 5px 0px 5px;
  display: inline;
}
.column-red {
  background-color: var(--color-red);
  color: var(--color-white) !important;
}
.column-orange {
  background-color: #fe8f3d;
  color: var(--color-white) !important;
}
.column-yellow {
  background-color: #ffc300;
  color: var(--color-white) !important;
}
.column-green {
  background-color: var(--color-green);
  color: var(--color-white) !important;
}
.column-blue {
  background-color: var(--color-blue);
  color: var(--color-white) !important;
}
.column-black-mate {
  background-color: var(--color-black-mate) !important;
  color: var(--color-white) !important;
}
.column-purple {
  background-color: #a084d1;
  color: var(--color-white) !important;
}

@media (max-width: 768px) {
  .container-100 {
    width: 100%;
    max-width: 100%;
    padding: 0px 30px;
  }

  .container-100 #pageContent {
    padding: 0px !important;
  }
  .container-100 #pageContent #contentArticle {
    margin: 0px !important;
  }
}
@media (max-width: 2000px) {
  .blog-comments {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .blog-comments {
    width: 100%;
  }

  .blog-comments .comment-header .user-info .meta {
    display: block !important;
  }
  .blog-comments .meta .name {
    width: 100%;
  }
  .blog-comments .meta .date {
    width: 100%;
  }
  .blog-comments .comment-actions .action-btn span {
    display: none;
  }
}

#targetsContent {
  min-height: 100vh;
  float: right;
  margin-right: 100px;

  width: calc((100%) - (400px));
}
@media screen and (max-width: 1273px) {
  #pageContent {
    width: 100%;
    float: none;
  }
  #close-sidebar {
    display: block;
  }

  .table-container {
    width: 100%;
    float: none;
  }
  #targetsContent {
    position: relative;
    padding: 0px 10px;
    width: 100%;
    float: none;
  }
}
.scrollPanel {
  overflow-y: auto !important;
  position: absolute;
  top: 50px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  padding-bottom: 30px;
}

.col-target {
  min-height: 330px;
  max-height: 330px;
}
.col-target .card {
  min-height: 313px;
}

/* TODAS las columnas iguales */
.col-grafica {
  margin: 10px 0px;
  height: 380px;
}

/* Card ocupa todo */
.dashboard-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Body flexible */
.dashboard-body {
  flex: 1;
  position: relative;
  padding: 8px;
}

/* Canvas SIEMPRE al 100% */
.dashboard-body canvas {
  width: 100% !important;
  height: 100% !important;
}

#targetsContent .card-header {
  background-color: var(--color-blue);
  color: var(--color-white);
  font-weight: 600;
}
#targetsContent .card-header .badge {
  font-weight: 900 !important;
  background-color: var(--color-blue-dark) !important;
}
#targetsContent .list-group .list-group-item .fw-bold {
  color: var(--color-blue-dark) !important;
  font-weight: 900 !important;
}
#targetsContent .list-group .list-group-item .text-muted {
  color: var(--color-blue-dark) !important;
}
#targetsContent .card .card-body .fw-bold {
  color: var(--color-blue-dark) !important;
  font-weight: 900 !important;
}
#targetsContent .card .card-body .text-muted {
  color: var(--color-blue-dark) !important;
}
.plan-card h5 {
  color: var(--color-blue-dark) !important;
  font-weight: 900;
}
.plan-card .plan-price {
  font-weight: 900 !important;
  color: var(--color-blue) !important;
}
.plan-card p {
  color: var(--color-blue-dark) !important;
}
.plan-card i {
  color: var(--color-blue) !important;
}
.plan-card span {
  font-weight: 500;
  color: var(--color-blue-dark) !important;
}
.plan-card.active {
  color: var(--color-white);
  background-color: var(--color-blue);
  border-color: var(--color-blue);
  /* box-shadow: 0 8px 20px var(--color-blue);*/
}

.plan-card.active h5 {
  color: var(--color-white) !important;
}
.plan-card.active .plan-price {
  font-weight: 900 !important;
  color: var(--color-white) !important;
}
.plan-card.active p {
  color: var(--color-white) !important;
}
.plan-card.active i {
  color: var(--color-white) !important;
}
.plan-card.active span {
  color: var(--color-white) !important;
} /*
.plan-card.highlight {
  background: var(--color-blue-dark);
  color: var(--color-blue-dark);
}

.plan-card.highlight li {
  color: var(--color-blue-dark);
}
*/
/* Contenedor general */
.stripe-box {
  width: 100%;
  background: #ffffff;
  border: 1px solid #e6ebf1;
  border-radius: 8px;
  padding: 16px;
  box-sizing: border-box;
}

/* Input de Stripe (iframe wrapper) */
.stripe-input {
  padding: 12px 14px;
  border: 1px solid #ccd0d5;
  border-radius: 6px;
  background: #fff;
  box-sizing: border-box;
}

.stripe-input > div {
  width: 100%;
}

/* Fila para MM/AA y CVC */
.stripe-row {
  display: flex;
  gap: 16px; /* 🔥 separación real */
  margin-top: 14px;
}

/* Columnas Stripe */
.stripe-col {
  flex: 1; /* 🔥 NO width */
  min-width: 0; /* 🔥 CRÍTICO para iframes */
}

/* Opcional: dar más espacio a MM/AA */
.stripe-col.expiry {
  flex: 2;
}

.stripe-col.cvc {
  flex: 1;
}

/* Labels */
.stripe-label {
  font-size: 12px;
  color: #6b7c93;
  margin-bottom: 6px;
  display: block;
}

/* Errores */
.stripe-error {
  margin-top: 10px;
  font-size: 12px;
  color: #fa755a;
}

/* Focus bonito estilo Stripe */
.stripe-box:focus-within {
  border-color: #5469d4;
  box-shadow: 0 0 0 1px #5469d4;
}

/* Responsive (mobile) */
@media (max-width: 480px) {
  .stripe-row {
    flex-direction: column;
    gap: 12px;
  }
}

.stripe-card-summary {
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  padding: 16px;
  margin-top: 10px;
  background: #f9fafb;
}

.card-resume {
  display: flex;
  align-items: center;
  gap: 16px;
}

.card-brand {
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-blue-dark);
  font-size: 12px;
}

.card-last4 {
  font-weight: 700;
  color: var(--color-blue-dark);
  font-size: 12px;
}

.card-exp {
  font-weight: 700;
  color: var(--color-blue-dark);
  font-size: 12px;
}

#btnChangeCard {
  background: var(--color-blue);
  color: var(--color-white);
  border-color: var(--color-blue);
  font-weight: 600;
  padding: 12px 30px;
  border-radius: 5px;
  transition: all 0.3s ease;
  width: max-content;
  display: block;
  margin-left: auto;
  border: 0px;
  box-shadow: none;
}
