/* Texto ocultable "Ver más" — Upmoviom (todo el sitio)
   Clases: .texto-ocultable (columna/contenedor), .to-intro (parte visible), .to-extra (parte que se despliega)
   Sin JS no se crea .to-panel, así que el contenido queda visible. */

.texto-ocultable .to-toggle {
  width: 100%;
  margin: 0 0 1em;
}

/* Botón: texto negro subrayado, sin más.
   Selector reforzado y todos los estados para anular los estilos de botón del tema (Hello Elementor). */
.texto-ocultable button.to-btn,
.texto-ocultable button.to-btn:hover,
.texto-ocultable button.to-btn:focus,
.texto-ocultable button.to-btn:active {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: none;
  text-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  color: #000;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: #000;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.texto-ocultable button.to-btn {
  transition: text-decoration-color .2s;
}

/* Hover: solo cambia el color del subrayado */
.texto-ocultable button.to-btn:hover,
.texto-ocultable button.to-btn:focus-visible {
  text-decoration-color: #E3001B;
}

.texto-ocultable button.to-btn:focus-visible {
  outline: 2px solid #000;
  outline-offset: 3px;
}

.to-panel {
  display: grid;
  grid-template-rows: 0fr;
  width: 100%;
  transition: grid-template-rows .35s ease;
}

.to-panel.is-open {
  grid-template-rows: 1fr;
}

.to-panel-inner {
  overflow: hidden;
  min-height: 0;
}

.to-panel:not(.is-open) .to-panel-inner {
  visibility: hidden;
  transition: visibility 0s .35s;
}

@media (prefers-reduced-motion: reduce) {
  .to-panel,
  .texto-ocultable button.to-btn {
    transition: none;
  }
}