/* ===== TÍTULO CON LÍNEA DORADA ===== */
.title-underline{
  position:relative !important;
  display:inline-block !important;
  font-weight:700;
}

.title-underline::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:-6px !important;
  width:60% !important;
  height:4px !important;
  background:var(--sta-gold) !important;
  border-radius:2px !important;
}

.title-underline.is-centered::after{
  left:50% !important;
  transform:translateX(-50%) !important;
}

/* ===== WORDPRESS / ELEMENTOR CLEAN ===== */
.entry-content > *:first-child,
.elementor-widget-container > *:first-child{
  margin-top:0;
}

.entry-content > *:last-child,
.elementor-widget-container > *:last-child{
  margin-bottom:0;
}

.alignwide{
  width:min(100% - 32px, var(--sta-container-wide));
  margin-left:auto;
  margin-right:auto;
}

.alignfull{
  width:100%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}

.wp-post-image{
  width:100%;
  height:auto;
  border-radius:var(--sta-radius-md);
}

.elementor-section.elementor-section-boxed > .elementor-container{
  max-width:var(--sta-container);
}

.elementor-widget-text-editor p:last-child{
  margin-bottom:0;
}

.elementor-widget-heading h1:last-child,
.elementor-widget-heading h2:last-child,
.elementor-widget-heading h3:last-child,
.elementor-widget-heading h4:last-child,
.elementor-widget-heading h5:last-child,
.elementor-widget-heading h6:last-child{
  margin-bottom:0;
}

/* ===== UTILIDADES ===== */
.sta-text-center{ text-align:center; }
.sta-text-left{ text-align:left; }
.sta-text-right{ text-align:right; }
.sta-mb-0{ margin-bottom:0 !important; }
.sta-mt-0{ margin-top:0 !important; }
.sta-hidden{ display:none !important; }

.screen-reader-text{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0, 0, 0, 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

.screen-reader-text:focus{
  clip:auto !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:8px 12px !important;
  overflow:visible !important;
  background:#fff !important;
  color:var(--sta-heading) !important;
  z-index:100000 !important;
}

/* evita scroll horizontal raro */
html,
body,
#page,
.site{
  overflow-x:hidden;
}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
  .sta-container,
  .sta-container--wide,
  .alignwide{
    width:min(100% - 28px, var(--sta-container));
  }
}

@media (max-width:767px){
  body{
    font-size:15px;
    line-height:1.6;
  }

  .sta-container,
  .sta-container--wide,
  .alignwide{
    width:min(100% - 20px, var(--sta-container));
  }

  h1{ font-size:clamp(32px, 10vw, 46px); }
  h2{ font-size:clamp(26px, 8vw, 38px); }
  h3{ font-size:clamp(22px, 6vw, 30px); }

  html[lang="zh-TW"] h1,
  html[lang="zh-TW"] h2,
  html[lang="zh-TW"] h3{
    line-height:1.35;
  }
}
