.hero .container {
  min-height: 550px;
  justify-content: space-between;
}

.hero .hero-text {
  width: calc(70% - 40px);
}

.hero .hero-button {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: calc(30% - 40px);
}

@media (max-width: 1024px) {
  .hero .hero-text {
    width: calc(80% - 16px);
  }

  .hero .hero-button {
    width: calc(20% - 16px);
  }
}

@media (max-width: 743px) {
  .hero .container {
    align-content: center;
  }

  .hero .hero-text {
    width: 100%;
    text-align: center;
  }

  .hero .hero-text h1 {
    text-align: center;
    width: 100%;
  }

  .hero .hero-button {
    justify-content: center;
    width: 100%;
  }
}

/*==== Contacto ====*/
.contact-card {
  padding: 50px 70px;
  box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  margin-bottom: 100px;
  margin-top: -50px;
  position: relative;
  background-color: var(--white-color);
}

.contact-card p {
  margin-top: 32px;
}

.contact-card h4 {
  margin-bottom: 32px;
}

.contact-card button {
  margin-top: 32px;
}

.contact-card button:hover {
  cursor: pointer;
}

@media (max-width: 743px) {
  .contact-card {
    padding: 32px;
    margin-bottom: 50px;
  }
}

/* Contact Info */
.contact-info {
  padding: 0 0 80px;
}

.contact-info .row {
  display: grid;
  gap: var(--lg-gap);
  grid-template-columns: repeat(4, 1fr);
  margin: 50px 0;
}

.contact-info h4 {
  color: #666;
  font-size: var(--body-font-size);
  font-weight: 400;
}

.contact-info a {
  color: var(--primary-color);
  font-size: var(--h4-font-size);
  font-weight: 700;
  transition: var(--deafult-transition);
}

.contact-info a:hover {
  color: var(--secondary-color);
}

@media (max-width: 1024px) {
  .contact-info .row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 743px) {
  .contact-info {
    padding-bottom: 50px;
  }

  .contact-info .row {
    grid-template-columns: repeat(1, 1fr);
    margin: 32px 0;
    gap: var(--md-gap);
  }

  .contact-card p,
  .contact-card button {
    margin-top: 22px;
  }
}

/*==== Nosotros ====*/
.tecnologias {
  padding: 100px 0;
}

.tecnologias .heading {
  display: flex;
  flex-direction: column;
  gap: var(--normal-gap);
  align-items: center;
}

.tecnologias h2,
.tecnologias p {
  text-align: center;
}

.contenedor-tecnologias {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  row-gap: 50px;
  justify-items: center;
  margin-top: 80px;
}

.tecnologias img {
  /* max-width: 65%; */
  max-height: 50px;
  object-fit: cover;
  /* filter: grayscale(100); */
  transition: var(--deafult-transition);
}

.contenedor-tecnologias img:hover {
  filter: grayscale(0);
  cursor: pointer;
}

@media (max-width: 1024px) {
  .tecnologias {
    padding: 80px 0;
  }
}

@media (max-width: 743px) {
  .tecnologias {
    padding: 50px 0;
  }

  .contenedor-tecnologias {
    margin-top: 32px;
  }

  .tecnologias img {
    max-height: 35px;
  }

  .contenedor-tecnologias {
    grid-template-columns: repeat(2, 1fr);
  }
}

.filosofia {
  padding: 100px 0;
}

.filosofia .container {
  display: grid;
  grid-template-areas:
    "a a a a a"
    "b b c c c";
  align-items: stretch;
}

.filosofia .heading {
  margin-bottom: 50px;
  flex-direction: column;
  grid-area: a;
  gap: var(--normal-gap);
}

.filosofia .img {
  grid-area: b;
}

.filosofia .img picture {
  height: 100%;
}

.filosofia .img img {
  border-radius: var(--xl-border-radius);
  height: 100%;
  object-fit: cover;
}

.filosofia .text {
  width: 100%;
  padding-left: 120px;
  grid-area: c;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--lg-gap);
}

.filosofia .text > div {
  display: flex;
  flex-direction: column;
  gap: var(--normal-gap);
}

@media (max-width: 1024px) {
  .filosofia {
    padding: 80px 0;
  }

  .filosofia .container {
    display: grid;
    grid-template-areas:
      "a a a a a a a a"
      "b b b b c c c c";
    align-items: stretch;
  }

  .filosofia .heading {
    text-align: center;
  }

  .filosofia .text {
    padding-left: 32px;
  }
}

@media (max-width: 743px) {
  .filosofia {
    padding: 50px 0;
  }
  .filosofia .container {
    grid-template-areas:
      "a a a a a"
      "b b b b b"
      "c c c c c";
  }

  .filosofia .img {
    text-align: center;
  }

  .filosofia .img img {
    max-height: 500px;
    width: 100%;
  }

  .filosofia .text {
    padding-left: 0;
    margin-top: 32px;
  }

  .filosofia .heading {
    margin-bottom: 32px;
    align-items: center;
  }
}

/* Feautures(Revisar) */
.feautures {
  background-color: var(--primary-color);
  padding: 80px 0;
}

.feautures h2 {
  color: var(--white-color);
}

.feauture-card {
  background: var(--white-color);
  width: unset;
  height: 100%;
}

.swiper-wrapper {
  margin-bottom: 80px;
}

.feautures .swiper-pagination-bullet {
  background-color: var(--white-color) !important;
}

@media (max-width: 743px) {
  .feautures {
    padding: 50px 0;
    margin-bottom: 0px;
  }
}

/* Equipo */
.equipo {
  padding: 100px 0;
  text-align: center;
}

.contenedor-equipo {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--lg-gap);
  margin-top: 50px;
}

.team-member {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.team-member h4 {
  font-size: var(--h4-font-size);
}

.team-member h5 {
  font-size: var(--body-font-size);
  color: #666;
  font-weight: 400;
}

.team-member img {
  max-width: 50%;
}

@media (max-width: 1024px) {
  .equipo {
    padding: 80px 0;
    text-align: center;
  }

  .contenedor-equipo {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 743px) {
  .equipo {
    padding: 50px 0;
    text-align: center;
  }

  .contenedor-equipo {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 32px;
  }
}

/*====== Servicios ======*/
.grid-servicios {
  padding: 120px 0;
}

.grid-servicios .container {
  display: flex;
  flex-direction: column;
  gap: 100px;
}

.grid-servicios_item {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 64px;
  align-items: center;
}

.grid-servicios_item .img img {
  max-height: 500px;
  width: 100%;
  object-fit: cover;
  border-radius: 4px;
}

.grid-servicios_item .text {
  display: flex;
  flex-direction: column;
  gap: var(--normal-gap);
  justify-content: center;
}

.grid-servicios_item .text ul {
  font-size: var(--body-font-size);
  list-style: none;
}

.grid-servicios_item .text ul li {
  display: flex;
  align-items: center;
  gap: var(--xs-gap);
  margin-bottom: 22px;
  font-weight: 600;
  color: var(--primary-color);
}

.grid-servicios_item .text ul li:last-of-type {
  /* margin-bottom: 0; */
}

.grid-servicios_item .text ul li img {
  max-width: 22px;
}

.grid-servicios .btn {
  display: inline-block;
}

@media (max-width: 1024px) {
  .grid-servicios {
    padding: 80px 0;
  }

  .grid-servicios .container {
    gap: 80px;
  }

  .grid-servicios_item {
    gap: var(--lg-gap);
  }
}

@media (max-width: 743px) {
  .grid-servicios_item .img {
    order: -1;
  }

  .grid-servicios .container {
    gap: 80px;
  }

  .grid-servicios {
    padding: 50px 0;
  }

  .grid-servicios .container {
    gap: 64px;
  }

  .grid-servicios_item {
    grid-template-columns: repeat(1, 1fr);
    gap: var(--md-gap);
  }
}

/*==== Servicio Individual ====*/
.service-feautured-image {
  text-align: center;
  margin-top: -150px;
  margin-bottom: 50px;
  z-index: 3;
  position: relative;
}

.service-feautured-image img {
  width: 40%;
  margin: 0 auto;
}

img.about-service {
  max-height: 500px;
}
@media(max-width: 743px) {
  img.about-service {
    max-height: 350px;
  }
}

@media(max-width: 1024px) {
  .service-feautured-image img {
    width: 50%;
    max-width: 90%;
  }
}

@media(max-width: 743px) {
  .service-feautured-image {
    margin-top: -100px;
  }

  .service-feautured-image img {
    width: 90%;
    max-width: 100%;
  }
}

.pricing {
  padding: 80px 0;
}

@media (max-width: 743px) {
  .pricing {
    padding: 50px 0;
  }
}

.contenedor-pricing {
  margin-top: 0;
  gap: var(--lg-gap);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1024px) {
  .contenedor-pricing {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 743px) {
  .contenedor-pricing {
    grid-template-columns: repeat(1, 1fr);
  }
}

.pricing-table {
  display: flex;
  flex-direction: column;
  gap: var(--normal-gap);
  align-items: flex-start;
}

.pricing-table ul {
  /* list-style: none; */
  list-style: none;
  flex-grow: 1;
}

.pricing-table ul li {
  font-size: var(--body-font-size);
  color: var(--text-color);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.pricing-table ul li:last-of-type {
  margin-bottom: 10px;
}

.pricing-table .btn {
  width: 100%;
}

@media (max-width: 743px) {
  .pricing-table {
    gap: 10px;
  }

  .pricing-table h2 {
    margin-bottom: 6px;
  }
}

/* Service Feautures */
.service_feautures {
  padding: 0;
  padding: 80px 0;
}

.service_feautures.dark {
  background-color: var(--primary-color);
}

.service_feautures.dark h2, .service_feautures.dark h4 {
  color: var(--white-color);
}

.service_feautures.dark p {
  color: var(--light-text-color);
}

.service_feautures .feautures-container {
  text-align: left;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--lg-gap);
}

.service-feauture {
  display: flex;
  flex-direction: column;
  gap: var(--normal-gap);
  align-items: flex-start;
}

.service-feauture img {
  max-width: 32px;
}

@media (max-width: 1024px) {
  .service_feautures .feautures-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 743px) {
  .service_feautures {
    margin-bottom: 50px;
    padding: 50px 0;
  }

  .service_feautures .feautures-container {
    grid-template-columns: repeat(1, 1fr);
    gap: var(--lg-gap);
  }

  .service-feauture {
    gap: 10px;
  }
}

.beneficios {
  padding: 80px 0;
}

.beneficios .container {
  display: flex;
  align-items: center;
  gap: 64px;
}

.beneficios .img {
  flex-basis: 50%;
}

.beneficios .txt {
  display: flex;
  flex-direction: column;
  gap: var(--normal-gap);
  flex-wrap: wrap;
  flex-basis: 50%;
}

.container-beneificios {
  display: grid;
  grid-template-columns:repeat(2, 1fr);
  gap: var(--lg-gap);
  margin-top: 32px;
}

.container-beneificios span {
  font-size: var(--small-font-size);
  color: var(--text-color);
}

@media(max-width: 1024px) {
  .beneficios .img {
    flex-basis: 40%;
  }
  .beneficios .txt {
    flex-basis: 60%;
  }
}

@media(max-width: 743px) {
  .beneficios .img {
    text-align: center;
  }

  .beneficios .img img {
    max-width: 80%;
  }
  .beneficios {
    padding: 50px 0;
  }

  .beneficios .container {
    flex-direction: column;
    gap: var(--lg-gap);
  }
}

/* FAQ */
.faq {
  padding: 80px 0;
}

.faq.dark {
  background-color: var(--primary-color);
}

.faq.dark h2 {
  color: var(--white-color);
}

.faq.dark .question h4{
  color: var(--white-color);
}

.faq.dark p {
  color: var(--light-text-color);
}

.faq .container {
  display: flex;
  flex-direction: column;
  gap: var(--normal-gap);
}

@media (max-width: 743px) {
  .faq {
    padding: 50px 0;
  }
}

.cta {
  text-align: center;
  padding: 80px 0;
}

.cta .container {
  display: flex;
  flex-direction: column;
  gap: var(--lg-gap);
}

.cta img {
  margin-top: 32px;
  border-radius: var(--xl-border-radius);
  object-fit: cover;
}

.cta h2{
  color: var(--gray-color);
}

@media(max-width: 1024px) {
  .cta img {
    min-height: 400px;
  }
}

@media(max-width: 743px) {
  .cta {
    padding: 50px 0;
  }

  .cta .container {
    gap: var(--normal-gap);
  }

  .cta img {
    margin-top: 32px;
    border-radius: var(--xl-border-radius);
    min-height: 300px;
  }
}

/*==== Portafolio Archive ====*/
.portfolio-archive > .container:first-of-type {
  padding: 100px 0 50px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--lg-gap);
}

.portafolio-card img {
  max-height: 320px;
  object-fit: cover;
  margin-bottom: 16px;
  border-radius: var(--xl-border-radius);
  aspect-ratio: 1/1;
}

.portafolio-card h2 {
  font-size: var(--h4-font-size);
}

@media (max-width: 1024px) {
  .portfolio-archive > .container:first-of-type {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 743px) {
  .portfolio-archive > .container:first-of-type {
    padding: 50px 0 32px;
    grid-template-columns: repeat(2, 1fr);
  }
}

/*==== Portafolio Individual ====*/
.portfolio-content {
  padding: 50px 0 80px;
}

.portfolio-content .container {
  display: flex;
  gap: 120px;
}

#feautured-image {
  max-width: 40%;
  position: absolute;
  right: 30%;
  bottom: -350px;
  margin-bottom: 100px;
}

.portfolio-content .text {
  display: flex;
  flex-direction: column;
  gap: var(--normal-gap);
  flex-basis: 70%;
  max-width: 70%;
}

.portfolio-content .portfolio-gallery {
  display: flex;
  gap: var(--lg-gap);
  flex-wrap: wrap;
  margin: 32px 0;
}

.portfolio-content .portfolio-gallery img {
  max-width: calc(50% - 16px);
  border-radius: var(--default-border-radius);
  object-fit: cover;
}

.portfolio-content .sidebar h3:first-child {
  margin-bottom: 32px;
}

.portfolio-content .portafolio-card {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

.portfolio-content .portafolio-card:last-child {
  margin-bottom: 0;
}

.portfolio-content .portafolio-card img {
  max-width: 100%;
  width: 100%;
}

@media (max-width: 1024px) {
  .portfolio-content {
    padding: 0 0 80px;
  }
  .portfolio-content .container {
    gap: var(--lg-gap);
  }
  .portfolio-content .text {
    flex-basis: 70%;
    max-width: 70%;
  }
  #feautured-image {
    max-width: 70%;
    right: 15%;
    bottom: -420px;
  }
  .portfolio-content .portfolio-gallery {
    margin: 22px 0;
  }
}

@media (max-width: 743px) {
  .portfolio-content {
    padding: 0 0 50px;
  }
  
  .portfolio-content .text {
    flex-basis: 100%;
    max-width: 100%;
  }

  #feautured-image {
    max-width: 100%;
    right: 0;
    bottom: -400px;
  }

  .portfolio-content .container {
    padding-top: 0px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    justify-items: stretch;
    gap: 50px;
  }

  .portafolio-card img {
    max-height: 380px;
  }

  .portfolio-content .portfolio-gallery {
    flex-direction: column;
    gap: var(--md-gap);
  }

  .portfolio-content .portfolio-gallery img {
    max-width: 100%;
  }
}

/*==== Politicas de Privacidad ====*/
.politicas {
  padding: 80px 0;
}

.politicas h3 {
  margin-top: 22px;
  margin-bottom: 16px;
}

@media (max-width: 1024px) {
  .politicas {
    padding: 50px 0;
  }
}

/* ===================================
   Editor Content Styles
   =================================== */

.editor-content {
  margin-top: 2rem;
}

.editor-content h2,
.editor-content h3,
.editor-content h4 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: var(--primary-color);
  font-weight: 600;
}

.editor-content h2 {
  font-size: 1.875rem; /* 30px */
  line-height: 2.25rem;
}

.editor-content h3 {
  font-size: 1.5rem; /* 24px */
  line-height: 2rem;
}

.editor-content h4 {
  font-size: 1.25rem; /* 20px */
  line-height: 1.75rem;
}

.editor-content p {
  margin-bottom: 1rem;
  line-height: 1.75;
  color: var(--text-color);
}

.editor-content ul,
.editor-content ol {
  margin-bottom: 1rem;
  padding-left: 2rem;
}

.editor-content li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
  color: var(--text-color);
}

.editor-content blockquote {
  border-left: 4px solid var(--secondary-color);
  padding-left: 1.5rem;
  margin: 1.5rem 0;
  font-style: italic;
  color: #555;
}

.editor-content blockquote cite {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #888;
  font-style: normal;
}

.editor-content pre {
  background-color: #f4f4f4;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 1rem;
  margin: 1rem 0;
  overflow-x: auto;
}

.editor-content code {
  font-family: 'Courier New', monospace;
  font-size: 0.875rem;
}

.editor-content hr {
  margin: 2rem 0;
  border: none;
  border-top: 2px solid #e0e0e0;
}

.editor-content figure {
  margin: 1.5rem 0;
  text-align: center;
}

.editor-content figure img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

.editor-content figure.stretched img {
  width: 100%;
}

.editor-content figure.with-border img {
  border: 1px solid #e0e0e0;
  padding: 4px;
}

.editor-content figure.with-background {
  background-color: #f8f9fa;
  padding: 1rem;
  border-radius: 4px;
}

.editor-content figcaption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #666;
  font-style: italic;
}
