.elementor-15 .elementor-element.elementor-element-bda8bfb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-3f31eff */.portfolio-page {
  padding: 40px 6%;
}

/* HEADER */
.portfolio-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 60px;
}
.portfolio-header h1 {
  color: #fff;
  font-size: 44px;
  font-weight: 700;
}
.portfolio-header h1 span {
  color: #ff7a00;
}
.portfolio-header p {
  color: #aaa;
  margin-top: 15px;
  font-size: 16px;
}

/* FILTRO */
.portfolio-filter {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 60px;
  flex-wrap: wrap;
}
.filter-btn {
  background: transparent;
  border: 1px solid #222;
  color: #aaa;
  padding: 10px 22px;
  border-radius: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.filter-btn.active,
.filter-btn:hover {
  background: #ff7a00;
  color: #000;
  border-color: #ff7a00;
}

/* GRID */
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

/* CARD */
.portfolio-card {
  text-decoration: none;
  background: #0f0f0f;
  border-radius: 22px;
  overflow: hidden;
  transition: transform 0.4s ease;
}
.portfolio-card:hover {
  transform: translateY(-6px);
}

.card-image {
  height: 260px;
  background-size: cover;
  background-position: center;
}

.card-info {
  padding: 22px;
}
.card-info h3 {
  color: #fff;
  font-size: 18px;
  margin-bottom: 6px;
}
.card-info span {
  color: #ff7a00;
  font-size: 13px;
}/* End custom CSS */