.elementor-393 .elementor-element.elementor-element-6024703{--display:flex;--min-height:558px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-393 .elementor-element.elementor-element-6024703:not(.elementor-motion-effects-element-type-background), .elementor-393 .elementor-element.elementor-element-6024703 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-393 .elementor-element.elementor-element-c4721ae{width:var( --container-widget-width, 38.255% );max-width:38.255%;--container-widget-width:38.255%;--container-widget-flex-grow:0;}.elementor-393 .elementor-element.elementor-element-c4721ae.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-393 .elementor-element.elementor-element-c4721ae .elementor-heading-title{font-size:43px;font-weight:700;text-transform:uppercase;color:#FFFFFF;}.elementor-393 .elementor-element.elementor-element-a194cf2 img{max-width:500px;box-shadow:0px 0px 10px 0px rgba(176.80000000000004, 176.80000000000004, 176.80000000000004, 0.5);}.elementor-393 .elementor-element.elementor-element-858c998{--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;--padding-top:35px;--padding-bottom:35px;--padding-left:35px;--padding-right:35px;}@media(max-width:1024px){.elementor-393 .elementor-element.elementor-element-6024703{--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;--justify-content:center;}.elementor-393 .elementor-element.elementor-element-c4721ae{width:var( --container-widget-width, 514.406px );max-width:514.406px;--container-widget-width:514.406px;--container-widget-flex-grow:0;}.elementor-393 .elementor-element.elementor-element-c4721ae .elementor-heading-title{font-size:32px;}.elementor-393 .elementor-element.elementor-element-a194cf2 img{max-width:314px;}}@media(max-width:767px){.elementor-393 .elementor-element.elementor-element-6024703{--min-height:491px;--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-393 .elementor-element.elementor-element-c4721ae .elementor-heading-title{font-size:26px;}.elementor-393 .elementor-element.elementor-element-a194cf2 img{max-width:268px;}}/* Start custom CSS for container, class: .elementor-element-6024703 */.sol-project {
  position: relative;
  background-color: #263238;
  overflow: hidden;
}

.sol-project::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
  background-size: 34px 34px;
  -webkit-mask-image: radial-gradient(ellipse 90% 80% at 50% 40%, #000 0%, transparent 78%);
  mask-image: radial-gradient(ellipse 90% 80% at 50% 40%, #000 0%, transparent 78%);
  pointer-events: none;
}/* End custom CSS */
/* Start custom CSS for theme-post-content, class: .elementor-element-e1677e1 *//* ============================================
   1. MEDIDA DE LÍNEA  (el arreglo más importante)
   ============================================ */
.sol-post > .elementor-widget-container > * {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* La tabla sí aprovecha todo el ancho */
.sol-post > .elementor-widget-container > figure,
.sol-post > .elementor-widget-container > table,
.sol-post > .elementor-widget-container > .wp-block-table {
  max-width: 920px;
}

/* ============================================
   2. TEXTO BASE
   ============================================ */
.sol-post p {
  font-size: 17px;
  line-height: 1.8;
  color: #4f4f4f;
  margin: 0 0 24px 0;
}

.sol-post p strong {
  color: #1a1a1a;
  font-weight: 600;
}

/* Primer párrafo como entradilla */
.sol-post > .elementor-widget-container > p:first-child {
  font-size: 20px;
  line-height: 1.68;
  color: #1a1a1a;
  margin-bottom: 34px;
}

.sol-post a {
  color: #1a1a1a;
  text-decoration: none;
  border-bottom: 2px solid #ff6b00;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.sol-post a:hover,
.sol-post a:focus {
  color: #ff6b00;
  border-color: #1a1a1a;
}

/* ============================================
   3. SUBTÍTULOS
   ============================================ */
.sol-post h2,
.sol-post h3 {
  color: #1a1a1a;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-wrap: balance;
  margin: 52px 0 18px 0;
}

.sol-post h2 {
  font-size: 30px;
  line-height: 1.24;
  padding-top: 22px;
  border-top: 1px solid #e4e4e4;
}

.sol-post h3 {
  font-size: 23px;
  line-height: 1.3;
}

/* Párrafos que son solo negrita: se comportan como subtítulo */
.sol-post p > strong:only-child {
  display: block;
  font-size: 23px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #1a1a1a;
  margin: 34px 0 4px 0;
}

/* ============================================
   4. LISTAS
   ============================================ */
.sol-post ul {
  list-style: none;
  margin: 0 0 28px 0;
  padding: 0;
}

.sol-post ul li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 13px;
  font-size: 16px;
  line-height: 1.7;
  color: #4f4f4f;
}

.sol-post ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 14px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, #ff6b00 0%, #ffc700 100%);
}

.sol-post ol {
  margin: 0 0 28px 0;
  padding-left: 22px;
}

.sol-post ol li {
  margin-bottom: 13px;
  font-size: 16px;
  line-height: 1.7;
  color: #4f4f4f;
  padding-left: 6px;
}

.sol-post ol li::marker {
  color: #ff6b00;
  font-weight: 700;
}

/* ============================================
   5. TABLA (ficha técnica)
   ============================================ */
.sol-post table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e4e4e4;
  border-radius: 12px;
  overflow: hidden;
  margin: 12px 0 34px 0;
  font-size: 15px;
}

.sol-post table th {
  background-color: #263238;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  text-align: left;
  padding: 15px 20px;
  border: none;
}

.sol-post table td {
  padding: 15px 20px;
  border: none;
  border-top: 1px solid #ededed;
  line-height: 1.6;
  vertical-align: top;
}

.sol-post table tr:first-child td {
  border-top: none;
}

.sol-post table td:first-child {
  width: 34%;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: #8a8a8a;
  background-color: #fafafa;
}

.sol-post table td:last-child {
  font-weight: 600;
  color: #1a1a1a;
}

/* ============================================
   6. IMÁGENES
   ============================================ */
.sol-post img {
  border-radius: 14px;
  height: auto;
}

.sol-post figcaption {
  font-size: 13px;
  line-height: 1.6;
  color: #8a8a8a;
  margin-top: 10px;
  text-align: left;
}

/* ============================================
   7. RESPONSIVE
   ============================================ */
@media (max-width: 900px) {
  .sol-post > .elementor-widget-container > p:first-child {
    font-size: 18px;
  }
  .sol-post h2 {
    font-size: 26px;
    margin-top: 42px;
  }
  .sol-post h3,
  .sol-post p > strong:only-child {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .sol-post p,
  .sol-post ul li,
  .sol-post ol li {
    font-size: 16px;
  }
  .sol-post > .elementor-widget-container > p:first-child {
    font-size: 17px;
  }
  .sol-post h2 {
    font-size: 23px;
  }
  .sol-post h3,
  .sol-post p > strong:only-child {
    font-size: 19px;
  }
  .sol-post table {
    font-size: 14px;
  }
  .sol-post table th,
  .sol-post table td {
    padding: 12px 14px;
  }
  .sol-post table td:first-child {
    width: 40%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sol-post a {
    transition: none;
  }
}/* End custom CSS */